# Sqlite wrapper



## Funresort (13. Juni 2012)

Hi Leute,

es gibt einen Recht guten JAVA SQLITE Wrapper, lässt sich auf ch-werner.de herunterladen. Hier mal wie ein Beispiel mit Erklärung wie man diesen Wrapper benutzen kann.


```
import SQLite.*;
import SQLite.Exception;

public class TabellenZugriffe {

	public TabellenZugriffe() {

		// 1.) Datenbankschicht initialisieren
		Database db = new Database();

		// 2.) Datenbank(datei) öffnen
		try {
			db.open("test.db3", 0666);

		// 3.) Tabelle erstellen
			do_exec(db,
					"CREATE TABLE IF NOT EXISTS [MARA] ([MATNR] INTEGER  NOT NULL PRIMARY KEY AUTOINCREMENT, [MATXT] TEXT  NOT NULL)");

		// 4.) Datensätze erzeugen
			Stmt ins = db.prepare("insert into MARA(matxt)" + " VALUES(:one)"); // konstanten trennen mit komma

			do_ins(ins, "Artikeltext1");	// jedes do_ins ist eine Zeile die du hinzufügst 
			do_ins(ins, "Artikeltext2");
			do_ins(ins, "Artikeltext3");

		// 5.) Daten zugreifen
			int i = 2;
			
			Stmt sel = db.prepare("select * from MARA where MATNR = :one"); 
			
			sel.bind(1, i);
			sel.step();
			
			do_select(db, "select * from MARA where MATNR = :one" );
		// 6.) Daten löschen
			
			Stmt del = db.prepare("delete * from Mara where MATNR = :one");
			
			del.bind(1, i);
			del.step();
			
		// 7.) Tabelle löschen
			do_exec(db, "drop table MARA");
		// 8.) Datenbank schließen
			db.close();
		} catch (Exception e) {
		}

	}

	void do_select(SQLite.Database db, String sql) throws SQLite.Exception {
		SQLite.Stmt stmt = db.prepare(sql);
		int row = 0;
		while (stmt.step()) {
			int i, ncol = stmt.column_count();
			System.out.println("=== ROW " + row + "===");
			for (i = 0; i < ncol; i++) {
				try {
					System.out.print(stmt.column_database_name(i) + "."
							+ stmt.column_table_name(i) + "."
							+ stmt.column_origin_name(i) + "<"
							+ stmt.column_decltype(i) + ">=");
				} catch (SQLite.Exception se) {
					System.out.print("COLUMN#" + i + "<"
							+ stmt.column_decltype(i) + ">=");
				}
				Object obj = stmt.column(i);
				if (obj == null) {
					System.out.println("null<null>");
				} else if (obj instanceof byte[]) {
					byte[] b = (byte[]) obj;
					String sep = "";
					System.out.print("{");
					for (i = 0; i < b.length; i++) {
						System.out.print(sep + b[i]);
						sep = ",";
					}
					System.out.print("}");
				} else {
					System.out.print(obj.toString());
				}
				if (obj != null) {
					System.out.println("<" + obj.getClass().getName() + ">");
				}
			}
			row++;
		}
		stmt.close();
	}

	void do_exec(Database db, String sql) throws SQLite.Exception {
		Stmt stmt = db.prepare(sql);
		while (stmt.step()) {
		}
		stmt.close();
	}

	void do_ins(Stmt stmt, String t) throws SQLite.Exception {
		stmt.reset();
		stmt.bind(1, t);
		while (stmt.step()) {
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		new TabellenZugriffe();

	}

}
```

Gruß 
Chris


----------



## Anime-Otaku (13. Juni 2012)

Nach näherem betrachten hab ich endlich verstanden, dass das ein SQLLite Wrapper ist...

http://it-republik.de/jaxenter/artikel/SQLite-goes-Java-2653.html


----------



## Funresort (13. Juni 2012)

Wie meinst das?


----------



## Anime-Otaku (13. Juni 2012)

Es ist kein allgemeiner DB Wrapper, sondern nur für SQLLite...


----------



## Funresort (13. Juni 2012)

Aso ja^^ Hab das Lite vergessen 

Moderator könntest du das Thema in SQLite Wrapper umbennen 

Danke


----------

