[ascoders] Klassen Fehler
- From: 1stpixel <1stpixel@xxxxxxxxxxxxxxx>
- To: "ascoders@xxxxxxxxxxxxx" <ascoders@xxxxxxxxxxxxx>
- Date: Tue, 27 Apr 2004 21:16:24 +0200
hiho,
ich habe eine mysql klasse von einer statischen Funktion abgeleitet,
welche nicht aber nicht funktionieren will.
Nehme ich folgende Zeilen (AS1), klappt alles hervorragend:
hier erst mal die AS1 Variante:
//----------------------------------------------------------------------
table = "meine_tabelle";
querystr = "SELECT * FROM " + table;
query = function(str) {
var database = "database";
var myXML = new XML ();
// This is required so that the php file gets the data..
sendXML.contentType = "text/xml";
sendXML.parseXML ("<gateway><query_db>" + database + "</query_db><query_str><![CDATA[" + str +
"]]></query_str></gateway>");
var replyXML = new XML ();
replyXML.onLoad = function (success) {
if (success) {
response.text = "";
response.text = this;
} else {
response.text = "GUI connection failed.";
}
};
sendXML.sendAndLoad ("gateway.php", replyXML);
}
query (querystr );
//----------------------------------------------------------------------
Das funktioniert soweit, ist aber nicht sehr hübsch!
Deshalb dachte ich an eine eigene Klasse:
//----------------------------------------------------------------------
class Database.Mysql {
/*
* Class Vars
*/
private var __database:String;
private var __gateway:String;
private var __logFile:String;
private var __sendXML:XML;
private var __replyXML:XML;
// constructor
function Mysql (gw) {
arguments.length > 0 ? setGateway (gw) : trace ('Error: Path to
gateway is missing in constructor');
};
/*
* Getter and Setter for __datatbase
*/
public function setDatabase (db:String):Void {
if (db != undefined) {
__database = db;
__sendXML = new XML();
__sendXML.contentType = "text/xml";
__replyXML = new XML();
} else {
trace ("Error: ´Database.Mysql.setDatabase()´ requires 1
Argument: [String]!");
}
};
public function getDatabase ():String {
return (__database);
};
/*
* Getter and Setter for __gateway
*/
public function setGateway (path:String):Void {
if (path != undefined) {
__gateway = path;
}else {
trace ("Error: ´Database.Mysql.setGateway()´ requires 1
Argument: [String]!");
}
};
public function getGateway ():String {
return (__gateway);
};
/*
* main Function
*/
public function query(qs:String) {
if (__database != "" || __database != undefined) {
__sendXML.parseXML("<gateway><query_db>"+ __database
+"</query_db><query_str><![CDATA["+ qs +"]]></query_str></gateway>");
__replyXML.onLoad = function (success) {
if (success) {
__logFile += this + "\n";
return (this);
} else {
__logFile = "mysql connection
failed.\n\r";
showLog();
};
};
__sendXML.sendAndLoad(__gateway, __replyXML);
} else {
trace ("Error: ´Database.Mysql.query()´: no database or
table selected (?)");
}
};
/*
* Custom Debug Functions
*/
public function showLog():Void {
trace (__logFile);
};
public function getLog():String {
return (__logFile);
};
public function clearLog():Void {
__logFile = "";
};
}; // EOC
//----------------------------------------------------------------------
Jetzt versuchen wir es mal auf as2:
import Database.Mysql;
MYSQL = new Mysql ("gateway.php");
MYSQL.setDatabase ("meineDB");
$table = "meineTabelle";
//
$mysql_XML = MYSQL.query ("SELECT * FROM " + $table);
result.text = MYSQL.getLog ();
//----------------------------------------------------------------------
Die Klasse gibt aber keinerlei Reaktionen von sich.
Am gateway.php kanns nicht liegen, das die As1 variante ja funzt.
any ideas ?
1stpixel
------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------
- Follow-Ups:
- [ascoders] Re: Klassen Fehler
- From: Ralf Siegel
Other related posts:
- » [ascoders] Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- [ascoders] Re: Klassen Fehler
- From: Ralf Siegel