Przenośna baza danych SQLite i C#

0

Witam. Piszę projekt, w którym nie chciałem używać baz danych jednak muszę to zrobić więc poszukuję przenośnej bazy danych (nie chcę by klienci instalowali inne pierdoły potrzebne do mojego programu). Postawiłem na SQLite (chyba że Wy polecacie coś innego?). Jednak nie potrafię wybrać co pobrać z tej strony http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
a piszą w tutorialach zagranicznych, że trzeba stąd pobrać SQLite. Chcę by mój program działał bez problemu na systemach XP, Vista, 7, 8. No i zależy mi na tym by móc tworzyć dynamicznie bazę, a w niej tabele i rekordy. Chciałbym by baza obsługiwała też język SQL czyli create database, create table itd. Pomoże ktoś to wdrożyć w mój projekt?

Oczywiście pracuję w VS 2012 Express.

0

Aby używać bazy SQLite potrzebujesz pliku DLL. Dzięki bibliotece możesz wykonywać zapytania SQL. create database nie wykonasz, ponieważ bazą w SQLite jest pojedynczy plik.

0

Jaki plik ściągnąć by był odpowiedni?

0

Można ściągnąć SQLita z GoogleCode
http://code.google.com/p/csharp-sqlite/downloads/detail?name=csharp-sqlite_3_7_7_1_71.zip

Pod VS2012 jest wersja tu (zależnie od architektury):
http://system.data.sqlite.org/downloads/1.0.86.0/sqlite-netFx45-setup-bundle-x86-2012-1.0.86.0.exe
http://system.data.sqlite.org/downloads/1.0.86.0/sqlite-netFx45-setup-bundle-x64-2012-1.0.86.0.exe

A najlepiej proponuję zainstalować NuGet-a
http://nuget.codeplex.com/
I nim instalować wszelkie dodatki. Powód? Łatwość i dostępność bez konieczności szukania.

0

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3270: Wystąpiła niezgodność architektury procesora kompilowanego projektu „MSIL” oraz architektury procesora odwołania „System.Data.SQLite”, „x86”. Ta niezgodność może powodować błędy w czasie wykonywania. Rozważ zmianę docelowej architektury procesora projektu przy użyciu Menedżera konfiguracji, tak aby dopasować architektury procesora projektu i odwołań, albo użyj odwołań, których architektury procesora są zgodne z docelową architekturą procesora projektu.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3075,5): warning MSB3187: Wskazany zestaw 'C:\Program Files (x86)\System.Data.SQLite\2012\bin\System.Data.SQLite.dll' wskazuje procesor inny niż aplikacja.

Mam się tym martwić?
Niestety przez te błędy nie działa ta baza. Następuje crash aplikacji

0
UnlimitedPL napisał(a):

Mam się tym martwić?
Niestety przez te błędy nie działa ta baza. Następuje crash aplikacji

No coś Ty, nie martw się! Hakuna matata!

Albo ściągnij wersję x64 SQLite, albo zmień ustawienia kompilacji swojego projektu na architekturę x86.

0

na x64 dalej to samo :/

0

Podczas wykonywania zapytania do bazy INSERT INTO tabela ('imie'nazwisko', 20); dostaje błąd składniowy. Podejrzewam ze błąd powoduje znak ' bo baza mysli ze w tym miejscu konczy sie string a on konczy sie dopiero po nazwisko' lecz jak pozbyc sie tego bugu a wpisac tę wartość?

0

\' albo przed składaniem stringa wstaw @"twoj string"

0

Albo użyj sqlite3_prepare*

0

//do usuniecia

1 użytkowników online, w tym zalogowanych: 0, gości: 1