| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Sep 2008 Ort: zu Hause
Beiträge: 152
| Sqlite verbindung
Hallo zusammen, ich versuche gerade mit As3 "Air" eine verbindung zu mein lokalen Datenbank zuerstellen, leider scheitere ich dabei und komme nicht weiter. hier ist mein script Code: package DiS.xml {
import flash.events.*;
import flash.data.*;
import flash.filesystem.File;
public class Xml_In_Sqlite{
private var conn:SQLConnection = new SQLConnection();
private var dbFile:File;
private var createStatement:SQLStatement;
//private var dbFile:String;
public function XmlInSqlite(){
conn.addEventListener(SQLEvent.OPEN, openHandler);
conn.addEventListener(SQLErrorEvent.ERROR, errorHandler);
//SQL-Datenbank abgespeichert (->Desktop)
dbFile = File.desktopDirectory.resolvePath("test.db");
// DB/Datei öffnen; wenn nicht vorhanden, neue Datei
// (Default ist immer SQLMode.CREATE, könnte also auch weggelassen werden)
conn.openAsync(dbFile, SQLMode.CREATE);
//writeIntoDatabase("Max Mustermann");
}
private function openHandler(event:SQLEvent):void{
trace("mit Datenbank verbunden");
}
private function errorHandler(event:SQLErrorEvent):void{
trace("Fehler:", event.error.message);
trace("Details:", event.error.details);
}
public function writeIntoDatabase(str:String):void{
// create the SQL statement
var insertStatement:SQLStatement = new SQLStatement();
insertStatement.sqlConnection = conn;
// define the SQL text
var insertSql:String = "INSERT INTO kunden (id,Name1) " + "VALUES ('" + str + "')";
insertStatement.text = insertSql;
// statement ausführen
insertStatement.execute();
}
}
} Code: var Send = new Xml_In_Sqlite();
//Send.XmlInSqlite();
Send.writeIntoDatabase("test"); und ich bekom folgenden fehlermeldung Code: Error: Error #3104: A SQLConnection must be open to perform this operation. at Error$/throwError() at flash.data::SQLStatement/checkAllowed() at flash.data::SQLStatement/checkReady() at flash.data::SQLStatement/execute() at DiSell.xml::Xml_In_Sqlite/writeIntoDatabase()[C:\Dokumente und Einstellungen\belal\Eigene Dateien\Flash CS4\XML.AS\DiS\xml\Xml_In_Sqlite.as:57] at DiSell_fla::MainTimeline/frame1()[DiSell_fla.MainTimeline::frame1:13] at runtime::ContentPlayer/loadInitialContent() at runtime::ContentPlayer/playRawContent() at runtime::ContentPlayer/playContent() at runtime::AppRunner/run() at global/runtime::ADLEntry()
__________________ Gruß, oma420 Geändert von oma420 (18-08-2009 um 14:50 Uhr) Grund: fehler behoben |
| | |
| | #2 (permalink) |
| AIRcrobat Registriert seit: Mar 2009 Ort: München
Beiträge: 78
|
Das Problem an deiner Lösung ist, dass bei folgendem Aufruf: PHP-Code: Du musst also warten bis PHP-Code: Lösungsansatz: Du könntest der Funktion XmlInSqlite(sql:String) einen Parameter sql übergeben, der dann an den openHandler übergeben wird und ausgeführt wird. Also so in etwa: PHP-Code: PHP-Code: ![]() Lg, Tom |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |