Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Wieso kann ich nicht auf Datenbank zugreifen?

Das Thema "Wieso kann ich nicht auf Datenbank zugreifen?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 22.01.2010, 00:54   #1 (permalink)
Neuer Benutzer

Registriert seit: 22.01.2010
Beiträge: 22
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Unglücklich Wieso kann ich nicht auf Datenbank zugreifen?

Hallo Leute,

ich versuche aktuell ein kleines Programm zu schreiben mit dem ich Daten aus einer DB lesen und darstellen kann.

Das Programm funktioniert insgesamt, aber wenn ich die Zeile mit Insert Into oder die Anweisung zum Lesen der Daten einfüge kommt im Emulator immer die Fehlermeldung Prozess wurde unterbrochen.

Was ist an dem Code den falsch?? Siehe unten:



public final static String MY_DATABASE_NAME = "datenbank.db";
public final static String MY_DATABASE_TABLE = "tabelletab";

try {
myDB = this.openOrCreateDatabase(MY_DATABASE_NAME, MODE_WORLD_WRITEABLE, null);

myDB.execSQL("CREATE TABLE IF NOT EXISTS " + MY_DATABASE_TABLE + "Spalte1 integer primary key, Spalte2 varchar(50), Spalte3 blob, Spalte4 text;");
myDB.execSQL(("INSERT INTO " + MY_DATABASE_TABLE + " (Spalte1, Spalte2 )" + " VALUES ('1', 'WertFuer1');"));
......
....
..

Das komische ist, das nur die Zeilen myDB.execSQL die fehler erzeugen.Wie gesagt, wenn ich die zwei Zeilen auskommentiere gibts es kein Problem. Aber ich kann eben nicht auf die Daten zugreifen :-(

Bin schon am verzweifeln. Bitte helft mir :-((

Gruß
Coder

Geändert von DalvikCoder (22.01.2010 um 00:58 Uhr)
DalvikCoder ist offline   Mit Zitat antworten
Alt 22.01.2010, 02:50   #2 (permalink)
Android Experte

Modell: HTC Desire S

Registriert seit: 20.11.2009
Beiträge: 973
Abgegebene Danke: 38
Erhielt 109 Danke für 87 Beiträge
Standard AW: Wieso kann ich nicht auf Datenbank zugreifen?

wie wär's wenn du mal die fehlermeldung postest? meine glaskugel iss grad defekt...

und da ich selbst anfänger bin iss der codeschnipsel für mich ohnehin etwas unklar. haste ne separate dbhelper.java oder ist alles im im "hauptprogramm"?
__________________
vom milestone zum desire s... bin zufrieden... bisher zumindest... ^^
szallah ist offline   Mit Zitat antworten
Alt 22.01.2010, 09:58   #3 (permalink)
Android Guru
 
Benutzerbild von Fr4gg0r

Modell: Samsung Galaxy S (I9000)

Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
Standard AW: Wieso kann ich nicht auf Datenbank zugreifen?

Zitat:
Zitat von DalvikCoder Beitrag anzeigen
[...]
myDB.execSQL("CREATE TABLE IF NOT EXISTS " + MY_DATABASE_TABLE + "Spalte1 integer primary key, Spalte2 varchar(50), Spalte3 blob, Spalte4 text;");
myDB.execSQL(("INSERT INTO " + MY_DATABASE_TABLE + " (Spalte1, Spalte2 )" + " VALUES ('1', 'WertFuer1');"));
[...]
Gruß
Coder
Ich würde sagen dass man die 1 nicht in ' setzt, da es sich um ein integer Feld handelt?
Fr4gg0r ist offline   Mit Zitat antworten
Alt 22.01.2010, 10:05   #4 (permalink)
Neuer Benutzer

Registriert seit: 22.01.2010
Beiträge: 22
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Unglücklich AW: Wieso kann ich nicht auf Datenbank zugreifen?

Hi szallah,

also eine Fehlermeldung von Eclipse gibt es in dem Fall gar nicht. Sondern im Virtual-Device erscheint "Die Anwendung blablabla (Prozess de.org.myk) wurde unerwartet beendet. Versuchen sie es erneut"

Ich bin auch noch ein neuling was java betrifft. Was meinst du mit dbhelper.java

Der gesamte Quelltext ist im moment noch in einer Datei. Ich wollte erstmal ertasten wie ich einen zugriff auf eine Datenbank realisieren kann.

Irgendwie habe ich kein tutorial gefunden aus dem ich wirklich schlau wurde. Ich weiß z.B. auch nicht wie ich die Datenbank mitgeben kann.

Viele offene Fragen, ich vermute aber das es daran liegt das ich mich mit Java nicht so gut auskenne. Wobei ich die Meinung vertrete kann ich eine Sprache programmieren ist die andere auch nicht so schwer zu lernen.

Kannst du mir das mit der dbhelper.java noch mal erklären?

Gruß
Dalvik
DalvikCoder ist offline   Mit Zitat antworten
Alt 22.01.2010, 10:42   #5 (permalink)
Android Experte

Modell: HTC Desire S

Registriert seit: 20.11.2009
Beiträge: 973
Abgegebene Danke: 38
Erhielt 109 Danke für 87 Beiträge
Standard AW: Wieso kann ich nicht auf Datenbank zugreifen?

@DalvikCoder

heute abend nach der arbeit sag ich mehr zur DBHelper... spontan aber noch folgendes:
beim create-table-statemente fehlt ein leerzeichen, weshalb die tabelle die du erzeugst "tabelletabSpalte1" heißt. demnach kann im zweiten statement auch nicht auf "tabelletab" zugegriffen werden, denn das existiert ja noch garnicht.

und:
natürlich gibt es ne fehlermeldung. du weiß nur nicht wo so wie's aussieht. in eclipse gibt's oben in diesem navi-ding den DDMS-knopf. dort iss n großes fenster wo alles protokolliert wird. da stehen auch fehlermeldungen drin.
steht da nix brauchbares kannste auch noch mit der Log-Klasse selbst fehler ausgeben.
aber dazu mehr heute abend...
__________________
vom milestone zum desire s... bin zufrieden... bisher zumindest... ^^
szallah ist offline   Mit Zitat antworten
Alt 22.01.2010, 11:11   #6 (permalink)
Neuer Benutzer

Registriert seit: 22.01.2010
Beiträge: 22
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Reden AW: Wieso kann ich nicht auf Datenbank zugreifen?

Ich habe dir mal den Originalcode per pm geschickt. Ich vermute, wie ich auch geschrieben habe, das ich gar keine DB offen habe bzw. kein Zugriff darauf habe.
Na dann gedulde ich mich mal bis heut Abend. Danke für deine Hilfe!

Gruß
Murat
DalvikCoder ist offline   Mit Zitat antworten
Alt 22.01.2010, 11:19   #7 (permalink)
Neuer Benutzer

Registriert seit: 22.01.2010
Beiträge: 22
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: Wieso kann ich nicht auf Datenbank zugreifen?

@Fr4gg0r

bis dahin komm ich ja nicht mal. Schon die CREATETABLE Direktive funzt nicht
DalvikCoder ist offline   Mit Zitat antworten
Alt 22.01.2010, 14:23   #8 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Wieso kann ich nicht auf Datenbank zugreifen?

Zitat:
Zitat von DalvikCoder Beitrag anzeigen
Hi szallah,

also eine Fehlermeldung von Eclipse gibt es in dem Fall gar nicht.
es gibt immer eine fehlermeldung im eclipse

wurde schon 100 mal durchgekaut

klick auf die debug view im eclipse dann siehst du den logcat mit allen exceptions die da auftreten. dann wirst du den fehler entweder sehr schnell selbst finden oder du kopierst die roten zeilen hier rein
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 22.01.2010, 16:32   #9 (permalink)
Neuer Benutzer

Registriert seit: 22.01.2010
Beiträge: 22
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: Wieso kann ich nicht auf Datenbank zugreifen?

Jetzt habe ichs! Dank an Fr4gg0r,

im DDMS steht folgendes


01-22 14:41:37.505: ERROR/AndroidRuntime(254): at android.os.Handler.dispatchMessage(Handler.java:99 )
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at android.os.Looper.loop(Looper.java:123)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at android.app.ActivityThread.main(ActivityThread.jav a:4203)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at java.lang.reflect.Method.invokeNative(Native Method)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at java.lang.reflect.Method.invoke(Method.java:521)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:791)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:549)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at dalvik.system.NativeStart.main(Native Method)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): Caused by: android.database.sqlite.SQLiteException: near "No": syntax error: CREATE TABLE IF NOT EXISTS Sureler No integer primary key, SureIsim varchar(50), Arabca blob, TuerkceAnlam text;
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at android.database.sqlite.SQLiteDatabase.native_exec SQL(Native Method)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at android.database.sqlite.SQLiteDatabase.execSQL(SQL iteDatabase.java:1497)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at de.org.myk.main.onCreate(main.java:32)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1123)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2364)
01-22 14:41:37.505: ERROR/AndroidRuntime(254): ... 11 more
DalvikCoder ist offline   Mit Zitat antworten
Alt 22.01.2010, 18:16   #10 (permalink)
Android Experte

Modell: HTC Desire S

Registriert seit: 20.11.2009
Beiträge: 973
Abgegebene Danke: 38
Erhielt 109 Danke für 87 Beiträge
Standard AW: Wieso kann ich nicht auf Datenbank zugreifen?

ich bin zwar immer noch auf der arbeit, aber mach's doch einfach mal schritt für schritt.
anstatt beim create table anzugeben welcher dateityp reinkommt kannste einfach die spalten als solche anlegen. sqlite kann das von sich aus dynamisch verwalten und sucht den besten datentyp selbst wenn nix entsprechendes angegeben ist.
man kann kein sql wie bei mysql verwenden. zumindest nicht immer. probier's also mal ohne die datentyp-angabe.

PS:
was soll "No integer primary key" machen? darauf verweist ja die fehlermeldung...
ich würd' mal tippen das soll eigentlich "integer not null primary key autoincrement" heißen...
__________________
vom milestone zum desire s... bin zufrieden... bisher zumindest... ^^

Geändert von szallah (22.01.2010 um 23:54 Uhr)
szallah ist offline   Mit Zitat antworten
Antwort

Stichworte
datenbank, fehler, problem, zugriff

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Wie kann ich auf die SD Karte zugreifen um Ordner zu erstellen? bacardi151 Motorola Milestone Forum 9 16.12.2009 17:48
Kann nicht mehr vom PC per USB auf G1 zugreifen Criz Android Allgemein 2 22.07.2009 18:10
HILFE kann auf mein HTC Magic nicht mehr zugreifen Herr Kaleu HTC Magic Forum 9 08.07.2009 13:48
Auf G1 nach 5. min nicht zugreifen kuulthag T-Mobile G1 Forum 10 23.03.2009 10:31
kann auf SD Karte nicht zugreifen VolUn T-Mobile G1 Forum 3 12.02.2009 21:57




Du liest gerade: "Wieso kann ich nicht auf Datenbank zugreifen?" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.