# [SQLite] Anfänger frage bzw C# und SQLite



## Lensen (19. Mai 2006)

so ich hab eine SQlite Datenbank in c# hinzugefügt und inserts klappen auch:
so nach dem muster 
	
	
	



```
string SQLString;
            SQLString = "Insert Irgendwas";
            SQLiteConnection cnn = new SQLiteConnection("Data Source=H:\\db.db3");
            SQLiteCommand cmd = new SQLiteCommand(SQLString, cnn);
            cnn.Open();
            cmd.ExecuteNonQuery();
```

Mein Problem ist wie mach ich das jetzt mit select ? Die daten müßen ja auf irgenein Variable/array übergeben werden?


----------



## teppi (20. Mai 2006)

Hallo,

falls du den Finisar Wrapper benutzt hast, kannst du Beispiele auf folgender Seite finden:
http://www.codeproject.com/csharp/wse1.asp

Also  beispielsweise so: 


```
string strSQL = "SELECT pages.path,pages.nofw,pages.Date_add,word_page.QTY " +
        "FROM words INNER JOIN word_page ON words.wid=word_page.wid" +
        " INNER JOIN pages ON word_page.pid=pages.pid" +
        " WHERE words.word='"+word+"'";
SQLiteDataAdapter sqd = new SQLiteDataAdapter(strSQL, sqconn);
DataTable dt = new DataTable();
sqd.Fill(dt);
```


----------



## Lensen (26. Mai 2006)

hmm...ok soweit.

Allerdings kriege ich aus dem DataTable nur einen wert raus? 
Hab schon ein wenig rumgespielt mit CreateDataReader usw. allerdings bekomme ich immer nur den obersten wert meiner select abfrage. sobald ich zumbeispiel auf den dann erstellen DataReader zugreiffe (z.B.) Reader[0] kommt der erste wert..,.mach ich dann reader.NextResult kommt wieder der erste wert ? Es scheint keinen 2ten zu geben ?


----------



## aness1 (7. November 2007)

Hallo *,

ich komme eher aus der Java-Ecke, möchte aber mal SQLite in mein C#-Projekt einbinden, um es unter Windows Mobile zu nutzen. Habe dazu die sqlite3.dll in mein bin\Debug-Verzeichnis kopiert. Sie lies sich leider nicht als Referenz/Verweis hinzufügen. 

Wie komme ich jetzt an die Datenbank ran? Ich habe schon drei Tage gegoogelt, nirgends ein gescheites Tutorial zu finden. Die Doku von SQLite lässt auch zu wünschen übrig. Habe gelesen, dass ich eine Art Wrapper oder ADO.NET Provider benötige, um in C# mit SQLite zu arbeiten. Warum? Kann ich nicht einfach SQL-Statements an die Datenbank absetzen wie man das aus JDBC kennt? Falls ich sowas unbedingt benötige, wie füge ich denn dass in mein Projet ein (Add Reference/Verweis hinzufügen)?

Wenn ich jetzt die sqlite3.dll in mein Projekt integriert habe, wird dann diese dll irgendwie in meine exe beim Build eingefügt, so dass sie bei der Ausführung immer da ist oder muss ich die dll zusammen mit der exe auf den auszührenden PC kopieren?

Ich wäre wirklich für qualifizierte Antworten oder eine gute Literaturempfehlung, die ausschließlich C# behandelt, dankbar!

Herzliche Grüße
Eure Aness


----------



## real-insanity (14. Dezember 2011)

Hallo aness1,

ich verwende in meinem Projekt auch eine SQlite-Datenbank (c#). Hierzu verwende ich die DLL von der Seite: http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki

SQLite3.dll wirst du dann nicht mehr benötigen, da der o.g. Link der Wrapper ist mit dem du den ganzen Datenbank-Kram durchführen kannst. 
So kannst du dann auch deine SQL-Statements direkt gegen die DB feuern. 
Teste dies mal und poste dann einfach deine Fehler, dann kann ich dir direkt dazu helfen 

Ob die DLL mit beim Deploy mitgeliefert wird kommt drauf an, ob du ein Setup-Projekt vom Visual-Studio verwendet oder was anderes. Bei einer einer normalen EXE wirst du immer die DLL "manuell" mit ausliefern müssen.


----------

