Ciao a tutti questo è il mio piccolo codice Frankenstein, non prenderlo in giro, funziona! Così si passerebbe il nome della tabella e un dato come un array associativo che sono oggetti. Sono abbastanza sicuro che questo non è un buon codice come lo ero io e sto ancora imparando ActionScript. Quindi, cosa posso cambiare o come fareste a migliorarlo?Come posso migliorare il mio codice AS3/Air?
public function save(table:String,data:Object):void
{
var conn:SQLConnection = new SQLConnection();
var folder:File = File.applicationStorageDirectory;
var dbFile:File = folder.resolvePath("task.db");
conn.open(dbFile);
var stat:SQLStatement=new SQLStatement();
stat.sqlConnection=conn;
//make fields and values
var fields:String="";
var values:String="";
for(var sRole:String in data)
{
fields=fields+sRole+",:";
stat.parameters[":"+sRole]=data[sRole];
}
//trim off white space
var s:String=new String(fields);
var cleanString:String=s.slice(0, -2);
//over here we add : infront of the values I forget why
var find:RegExp=/:/g;
var mymyField:String=new String(cleanString.replace(find,""));
cleanString=":"+cleanString;
var SQLFields:String=mymyField;
var SQLValues:String=cleanString;
stat.text="INSERT INTO "+table+" ("+SQLFields+")VALUES("+SQLValues+")";
stat.execute();
}
sarei d'accordo con quella prima affermazione fintanto che le risorse di sistema non vengono abusate. la memoria, specialmente nel flash residente del browser, dovrebbe sempre essere gestita correttamente. – TheDarkIn1978
+1. anche se il codice è davvero così orribile, che non direi che in realtà "funziona" come codice. – back2dos