Zurück   Flashforum > Flex und AIR > Adobe AIR

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-10-2009, 21:31   #1 (permalink)
Haaajmo Bosno!!!
 
Benutzerbild von mirzahat
 
Registriert seit: Aug 2001
Ort: Bihać
Beiträge: 692
AIR und SQLite Frage

Hallo,

ich habe diesen Code:

Code:
var file:File = File.userDirectory.resolvePath("mainDB.db3");
var isNewDB:Boolean = !file.exists;
sqlConnection.open(file);
var stmt:SQLStatement = new SQLStatement();
stmt.sqlConnection = sqlConnection;
stmt.text = "SELECT * FROM appData;";
stmt.execute();
var contacts:ArrayCollection = new ArrayCollection(stmt.getResult().data);
mainTxt.text = contacts.toString();
...der sich erfolgreich mit der DB verbindet.

Allerdings kriege ich diesen Error:

Code:
SQLError: 'Error #3115: SQL Error.', details:'no such table: 'appData'', operation:'execute', detailID:'2013'
Dabei habe ich appData in der DB schon erstellt.

Gruss,
Mirza
mirzahat ist offline   Mit Zitat antworten
Alt 09-10-2009, 07:06   #2 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Ort: Oldenburg
Beiträge: 2.407
Ist in der Tabelle denn auch was drin?
__________________
Mein Blog
Freue mich über jeden Besucher. :)
Nico B. ist gerade online   Mit Zitat antworten
Alt 09-10-2009, 07:22   #3 (permalink)
Haaajmo Bosno!!!
 
Benutzerbild von mirzahat
 
Registriert seit: Aug 2001
Ort: Bihać
Beiträge: 692
Ja es ist :-)
mirzahat ist offline   Mit Zitat antworten
Alt 09-10-2009, 08:12   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Ort: Oldenburg
Beiträge: 2.407
*Ist wohl auch egal, ob da was drin steht ... *


Also:
Ich vermute mal, dass es an Deinem (nicht sehr guten) Script liegt. Alles in einen Riesenblock zu schreiben, macht wenig Sinn und ist in diesem Falle (schätzungsweise) Quelle des Fehlers.

Ergo:
Bau mal Eventlistener ein
ActionScript:
  1. stmt.addEventListener(SQLEvent.RESULT, createResult);

Voher auf das Result zu zugreifen, kann nur schief gehen.


Da ich mein Scirpt gerade nicht zur Hand habe, schau Dir doch mal dieses Tutorial an:
AIR: Lokale SQL-Datenbank verwenden | www.video-flash.de


Grüße, Nico

Ps: Db erstellen/verbinden --> Listener --> connecten --> Listener --> auf die Results zugreifen.
__________________
Mein Blog
Freue mich über jeden Besucher. :)
Nico B. ist gerade online   Mit Zitat antworten
Alt 09-10-2009, 08:32   #5 (permalink)
Haaajmo Bosno!!!
 
Benutzerbild von mirzahat
 
Registriert seit: Aug 2001
Ort: Bihać
Beiträge: 692
Hallo Niko,

ich habe deinen Beispiel verfolgt und habe meinen Code so geaendert und wieder bekomme ich diese "Table does not exist" Warnung.

Code:
import flash.filesystem.File;
import flash.data.SQLStatement;
import flash.data.SQLConnection;
import flash.events.SQLEvent;
import flash.events.SQLErrorEvent;
import mx.collections.ArrayCollection;

private var exampleDB:SQLConnection = new SQLConnection();

private function init():void{
			
     var exampleDBFile = File.applicationStorageDirectory.resolvePath("mainDB.db3");

     exampleDB = new SQLConnection();

     exampleDB.addEventListener(SQLEvent.OPEN, onExampleDBOpened);

     //exampleDB.addEventListener(SQLErrorEvent.ERROR, onExampleDBError);
     exampleDB.openAsync(exampleDBFile, SQLMode.CREATE);

}

private function onExampleDBOpened(event:SQLEvent):void{

     if (event.type == "open"){

           var query:String = "SELECT * FROM appData;";
	   var sqlQuery = new SQLStatement();
	   sqlQuery.sqlConnection = exampleDB;
	   sqlQuery.addEventListener(SQLEvent.RESULT, createResult);
					    sqlQuery.addEventListener(SQLErrorEvent.ERROR, createError);

sqlQuery.text = query;
sqlQuery.execute();

}

}

private function createResult(event:SQLEvent):void {
     mainTxt.text = "sql ok";
}

private function createError(event:SQLErrorEvent):void {
     mainTxt.text = "Fehler:" + event.error.message;
     mainTxt.text = "\nDetails:" + event.error.details;
}
Gruss,
Mirza
mirzahat ist offline   Mit Zitat antworten
Alt 09-10-2009, 08:58   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Ort: Oldenburg
Beiträge: 2.407
Hm, ICH sehe da gerade eigentlich keinen Fehler. Vielleicht hier noch mal reinschauen:

AIR API - Creating Tables and Databases | InsideRIA

Grüße, Nico
__________________
Mein Blog
Freue mich über jeden Besucher. :)
Nico B. ist gerade online   Mit Zitat antworten
Alt 09-10-2009, 09:04   #7 (permalink)
Haaajmo Bosno!!!
 
Benutzerbild von mirzahat
 
Registriert seit: Aug 2001
Ort: Bihać
Beiträge: 692
Ja das ist irgendwie doof, wieso muss ich im Code die Tabelle erstellen, wie es im Tutorial gezeigt wird?

Ich will einfach ein select. Vielleicht ist mein DB Admin Programm nicht der Beste, versuche es jetzt mit Lito ...
mirzahat ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sqlite verbindung oma420 Adobe AIR 2 19-08-2009 09:10
AIR | SQLite -> Error nimroder Adobe AIR 4 08-01-2009 13:22
SQLite zu DataGrid hmp Flex programmieren 0 29-11-2008 13:04
air und sqlite miller Adobe AIR 6 15-09-2008 15:14
php5 - SQLite neo14 Flash und Datenbanken 8 05-07-2004 09:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele