# SQLite --> Java SDK



## JAVAkünstler (15. Jun 2009)

Hallo erstmal eine kleine Problem beschreibung :
Ich spiele im moment ein wenig mit Java rum, bisher habe ich es soweit gebracht das ich eine Virtuele Bank habe mit konten etc. abfragen überweisung etc.
Alles schön und gut nur doof ist wenn ich mein Programm schließe und neustarte ist alles auf Standart. 
Damit ich dies nicht mehr Fix sondern Variabel habe möchte ich das nun auf SQL umschreiben(meine sql fähigkeiten tangieren gegen 0). Allerdings ist das ein anderes Problem, das erste beginnt schonmal damit wie binde ich eine bestehende DB (mit SQlite erstellt) in Java ein. 
Meine Lösungs Idee:



```
package datenbank;
import java.sql.*;


public class Datenbank {

	public static void main(String[] args) throws Exception {
	      Class.forName("org.sqlite.JDBC");
	      Connection conn = DriverManager.getConnection("jdbc:sqlite:bankeditor.db");
	      Statement stat = conn.createStatement();

	      ResultSet rs = stat.executeQuery("select * from bank;");
	      while (rs.next()) {
	          System.out.println("blz = " + rs.getString("blz"));
	          System.out.println("name = " + rs.getString("name"));
	      }
	      rs.close();
	      conn.close();
	  }

}
```

Da bieten sich mir eine Handvoll probleme:



Exception in thread "main" java.lang.ClassNotFoundException: sqlitejdbc-v056.jar
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
und noch paar mehr nur ist sehr viel 
Techniche Details:
JAva SDK6
Eclipse / SQlite 
WinXP


So nun zur Frage stellung, kann ich SQlite in JAva einbinden ?
muss ich diese "Treiber" in einen Speziellen ordner packen ?
habe ich in etwa einen richtigen lösungs ansatz, den ich finde nicht viel in der Insel / Google ....


LG JavaKünstler.


----------



## frapo (15. Jun 2009)

Auf den ersten Blick würde ich sagen das die sqlite.jar irgendwie im Classpath mit angegeben werden müsste.

Versuche das erstmal ohne eclipse, da werden dir die Vorgänge vielleicht etwas ersichtlicher. Für SQLite habe ich per google auf Anhieb dies gefunden:

SQLiteJDBC

Weiter unten unter Getting Started steht eigentlich alles.


----------



## JAVAkünstler (15. Jun 2009)

Diesen link habe ich auch bereits versucht zu verstehen, bzw daher habe ich mir auch den Treiber gezoggen.
Ich glaube meine verständnis problem kommt daher das ich ja mit:


```
Class.forName("org.sqlite.JDBC");
```

denn Treiber lade, aber der doch garkeine bezugsquelle hat. Woher weiß java wo der Treiber liegt !?

lg j


----------



## frapo (15. Jun 2009)

Drum ja mein Tipp das mal nur über die Konsole zu versuchen. In dem Link den ich gepostet habe, steht ganz unten wie du das Programm, mit der nötigen Angabe des Classpath, zum laufen bringen solltest.

Oder in deinen Worten: so weiß Java wo der Treiber liegt. 

Hier nochmal die Zeile:

```
java -cp .:sqlitejdbc-v056.jar Test
```

Der einfachste Weg wäre vielleicht die betreffende jar-Datei in das Verzeichnis zu packen, wo sich deine Quelldatei befindet, vorausgesetzt du machst das ganze über die Konsole.


----------



## JAVAkünstler (16. Jun 2009)

Oke, soweit so ungut.
Ich muss sagen meine Datenbank steht, das programm steht auch, nun muss die Verbindung her.
Danke für deine Hilfe Frapo, aber es hat mich nicht weiter gebracht den ich versteh diese Erläuterung einfach nicht 

Nochmal eine Kleine ergänzung:
Ich benutzte für Java das hilfstool Eclipse.
Meine Datenbank habe ich jetzt mit Mysql / Xampp erstellt.

Ich habe mir den Treiber "mysql-connector-java-5.0.3-bin.jar" geladen.


Hier beginnt mein Problem ich habe 3 bausteine wie kombinier ich die ?
Klar es gibt seiten dies mir erklären z.b. exampel allerdings ist das mir zu hoch.
evtl ist zu erwähnen das ich noch NIE mit MYSQL gearbeitet habe und dies auch nur tue um michschonmal auf das kommende Schuljahr vorzubereiten.

Es währe freundlich wenn einer so eine Basicerläuterung parat hätte was alles zu erledigen ist um java mit einer DB zu verknüpfen.(meine Lieblings Frage ist "warum?")
Und tut mal so als ob ich doof währe 


lg JK


----------



## HoaX (16. Jun 2009)

Ich denke nicht dass sich hier jemand Zeit nimmt dir die FAQ vorzukauen. Leg doch einfach drauf los. Anleitungen wie man sich verbindet, Abfrage macht, ... gibts wie Sand am Meer. Und da heutzutage fast jede Anwendung irgendwo eine DB verwendet wirst du auch sicherlich zu allen am Anfang auftretenden Problemen eine Lösung finden. Ansonsten wird dir auch hier bei konkreten Problemen gern geholfen, wenn Eigeninitiative zu erkennen ist. Aber vorkauen wird dir hier sicher niemand was ...


----------



## JAVAkünstler (16. Jun 2009)

gestern noch die "wie poste ich" durchgelsen und  heute schon vergessen naja suboptimal. Oke, naja du hast recht schönen Feierabend noch


----------



## frapo (16. Jun 2009)

JAVAkünstler hat gesagt.:


> Oke, soweit so ungut.
> 
> Nochmal eine Kleine ergänzung:
> Ich benutzte für Java das hilfstool Eclipse.



Das 'Hilfstool' eclipse scheint mir momentan nicht gerade wirklich eine Hilfe für dich zu sein. Ebendrum rate ich nochmal dringend dazu, das alles mal mit einem einfachen Texteditor und der Konsole zu versuchen. 

Dadurch das eclipse dir eine Menge arbeit abnimmt, wird es erschwert Grundlagen wirklich nachzuvollziehen.



			
				JAVAkünstler hat gesagt.:
			
		

> Ich habe mir den Treiber "mysql-connector-java-5.0.3-bin.jar" geladen.



Das ist z.B. eine solche Grundlage. Du hast die jar-Datei geladen, nun musst du diese in den Classpath aufnehmen damit Java weiß wo diese jar-Datei konkret zu finden ist.

Weißt du was der Classpath genau ist? Wenn nicht benutze hier mal die Forensuche oder schau in die FAQ. Das ist alles keine Geheimwissenschaft, das sind Grundlagen die man relativ schneller drauf haben kann. Nur Mut 

Erfolg und Gruß
frapo


----------

