PDA

Prikaži potpunu verziju : Aplikacija sa lokalnom bazom


OgnjenM
12.11.2012, 13:50
Radio sam aplikaciju sa sql bazom, ali sam skontao da kada je kompajliram i probam pokrenuti na drugom racunaru da ne moze pronaci server.

E sad posto aplikaciji zapravo i ne treba takva baza da se preko servera konektuje jer ce se koristiti samo na jednom racunaru , znaci nema potrebe.
Da li bi mogao napraviti aplikaciju sa bazom koju nosi u sebi, koja baza i neki savjeti ?

Cuo sam za taj SQLite , kako ga koristiti?

Hvala unaprijed.

peacegiverman
12.11.2012, 14:00
Možeš da koristiš SQLite (http://sqlite.org/). To je baza podataka koja se čuva u jednom fajlu i možeš da je distribuiraš sa aplikacijom. Postoje neke razlike u odnosu na druge sisteme, poput MySQL, što se tiče podržanih funkcija, ali to je i dalje SQL, tako da ne bi trebalo da imaš puno problema pri prebacivanju na SQLite.

Edit: Kako ga koristiti

Treba da nađeš biblioteku za SQLite za jezik u kome radiš. API za njega je sličan onima za druge baze podataka i možeš da koristiš gotovo iste SQL upite kao do sada. Kao što rekoh gore, jedina veća razlika je što ćeš morati da paziš koje SQL funkcije ne podržava (imaš u dokumentaciji) i da se snalaziš oko toga.

OgnjenM
12.11.2012, 14:21
Skontao sam vec i ubacio sam je u reference.

using (var conn = new SQLiteConnection(@"Data Source=test.db3"))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "SELECT id FROM foo";
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
int id = reader.GetInt32(reader.GetOrdinal("id"));
...
}
}
}

Imam sad ovaj kod ovde recimo, znima me gdje ja svoju bazu da ubacim, tj gdje ova njegova stoji "test.db3" ?

Koristim c#

Neky
12.11.2012, 17:55
Dok sam koristio SQLite sa Pythonom, fajl koji predstavlja bazu je bio u root direktorijumu zajedno sa izvršnim kodom.

OgnjenM
12.11.2012, 22:13
Da uspio sam i ja u medjuvremenu shvatiti kako sve radi, nisam koristio sqlite, koristim Sql Server Compact koji je ista stvar kao i SqLite, samo sto vec postoji u visal studiju.

using System.Data.SqlServerCe;

Hvala vam na pomoci.