Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa sqlite3

[es] :: C/C++ programiranje :: Problem sa sqlite3

[ Pregleda: 3464 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

slavkot

Član broj: 18657
Poruke: 166
81.93.86.*



Profil

icon Problem sa sqlite307.11.2005. u 20:46 - pre 224 meseci
Pozdrav, nikako ne mogu naći fajl sqlite3.h, pretražio sam čitav sajt http://www.sqlite.org, ali bez uspjeha.
Pokušavam da kreiram jednostavan program tj. primjer sa istog sajta, tačnije ovdje
http://www.sqlite.org/quickstart.html ,
ali nemam fajl sqlite3.h, gdje bi ga našao? Pronašao sam samo sqlite3.dll i sqlite3.def, ali šta s'tim ?
Koristim dev-cpp.
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: Problem sa sqlite307.11.2005. u 21:29 - pre 224 meseci
Da li koristis sqlite devpak http://www.devpaks.org/details.php?devpak=94 (direktan link http://prdownloads.sourceforge...evpaks/sqlite-3.2.6-1ew.DevPak ) ili sam kompajliras?
Predpostavljam da ce ti devpak ubaciti sqlite3.h u <include> folder.
Ja dosad nisam koristio sqlite, ali sam ga skoro razmatrao kao mogucnost i tada sam naisao na ovo http://www.yeohhs.com/articles/devcppsqlite.htm , mozda ti bude koristilo.
idb
 
Odgovor na temu

slavkot

Član broj: 18657
Poruke: 166
81.93.86.*



Profil

icon Re: Problem sa sqlite307.11.2005. u 22:00 - pre 224 meseci
Sad sam instalirao devpak i sve radi kako treba, hvala na pomoći
 
Odgovor na temu

slavkot

Član broj: 18657
Poruke: 166
81.93.86.*



Profil

icon Re: Problem sa sqlite308.11.2005. u 14:16 - pre 224 meseci
Poz., opet ja, potrebno mi je još nekakvih informacija u vezi SQlite3, ne snalazim se baš sa onim podacim sa njihovog sajta:

1. Kako da kreiram bazu podataka za ovaj sqlite?
2. Da li tu bazu podataka mogu editovati (dodavati nove vrijednosti i brisati) koristeći prog. jezik C tj. šta je ekvivalentno naredbama INSERT, DELETE, CREATE TABLE i slično, ako ima nekakav primjer bilo bi dobro.
3. Kako da se povežem sa nekom bazom podataka i kako da procitam podatke iz neke tabele i da ih prikažem na ekranu koristeći prog. jezik C ili šta je ekvivalentno sljedećem:

Code:

SELECT imena_korisnika, email_korisnika
FROM ime_tabele;

 
Odgovor na temu

bzero
dev null
europe

Član broj: 5907
Poruke: 371
..mtsns-ns.customer.sbb.co.yu.

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: Problem sa sqlite308.11.2005. u 15:18 - pre 224 meseci
Na strani koju si ostavio gore ( http://www.sqlite.org/quickstart.html ) imas jednostavan C program iz koga se vidi u osnovi kako se radi. Ja sam radio sa ranijim verzijama, ali trebalo bi da je isto:

1. Baza se otvara sa sqlite3_open(), a ukoliko ne postoji bice automatski kreirana. Inace baza je jedan fajl na disku.

2. Naravno da mozes, a radi se upravo tako da izvrsavas SQL komande preko funkcije sqlite3_exec(), na primer sqlite3_exec(db, "INSERT INTO tabela ....itd", NULL, 0, NULL). Tabelu kreiras isto tako, uz odgovarajuci CREATE TABLE query naravno. Pogledaj sintaksu za sqlite3_exec, kao i spisak SQL komandi koje sqlite razume: http://www.sqlite.org/lang.html

3. Podatke iz neke tabele citas isto tako, preko sqlite3_exec(db, "SELECT * FROM tabela", callback_funkcija, 0, NULL), s tim sto napravis kao parametar sqlite3_exec dajes tvoju callback funkciju koja ce biti pozvana svaki put kada se procita red iz tabele.
Never trust an operating system you don't have sources for.
 
Odgovor na temu

slavkot

Član broj: 18657
Poruke: 166
81.93.86.*



Profil

icon Re: Problem sa sqlite308.11.2005. u 16:35 - pre 224 meseci
Ok, uspio sam otvoriti i procitati, ali ne kontam šta radi funkcija "callback"?
U njihovom primjeru ona izgleda ovako:
Code:

static int callback(void *NotUsed, int argc, char **argv, char **azColName){
  int i;
  for(i=0; i<argc; i++){
    printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
  }
  printf("\n");
  return 0;
}


a poziva se
Code:

sqlite3_exec(db,"SELECT one FROM tbl1", callback, 0, &zErrMsg);


koja je veza, gdje su argumenti funkcije "callback"? Na šta pokazuje "azColName" i da li su ovi "argc" i "argv" isti kao i oni u
Code:
int main(int argc, char **argv)


Da li moja svaka "callback" funkcija mora imati gore navadena 4 argumenta?

 
Odgovor na temu

bzero
dev null
europe

Član broj: 5907
Poruke: 371
..mtsns-ns.customer.sbb.co.yu.

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: Problem sa sqlite308.11.2005. u 17:05 - pre 224 meseci
Callback funkcija uvek je deklarisana kao:

Code:

static int callback(void *NotUsed, int argc, char **argv, char **azColName)


argc i argv su argumenti ove funkcije i nemaju veze sa argumentima funkcije main.

Inace argc je jednak broju kolona u tabeli, u argv su vrednosti kolona, a u azColName imena kolona. Ako imas tabelu:

Code:

id    name
=============
1    pera
2    djoka
3    laza


u prvom pozivu callback funkcije:
argc = 2
argv[0] = "1"
argv[1] = "pera"
azColName[0] = "id"
azColName[1] = "name"

u drugom pozivu callback funkcije:
argc = 2
argv[0] = "2"
argv[1] = "djoka"
azColName[0] = "id"
azColName[1] = "name"

itd...

Inace u primeru koji je dat na sajtu, callback funkcija jednostavno stampa nazive svih kolona i njihove vrednosti.
Never trust an operating system you don't have sources for.
 
Odgovor na temu

slavkot

Član broj: 18657
Poruke: 166
81.93.86.*



Profil

icon Re: Problem sa sqlite308.11.2005. u 17:38 - pre 224 meseci
shvatio sam, hvala ti na objašnjenjima
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa sqlite3

[ Pregleda: 3464 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.