flex – 如何让我的AS3 / Air代码更好?
发布时间:2020-12-15 02:16:27 所属栏目:百科 来源:网络整理
导读:大家好,这是我的小弗兰肯斯坦代码,不要取笑它,它的工作原理! 因此,您将传递表名称和作为关联数组的数据作为对象. 我很确定这不是像我一样好的代码而且还在学习ActionScript.那么我可以改变什么,或者你们如何让它变得更好? public function save(table:Stri
|
大家好,这是我的小弗兰肯斯坦代码,不要取笑它,它的工作原理!
因此,您将传递表名称和作为关联数组的数据作为对象. 我很确定这不是像我一样好的代码而且还在学习ActionScript.那么我可以改变什么,或者你们如何让它变得更好? 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();
}
解决方法
诚实地说,构建查询的部分非常恐怖.一半的代码删除了之前添加了几行的垃圾.这使得阅读和理解变得困难.这是代码质量差的一个标志.以下内容更短更简单:
//make fields and values
var fields:Array = [];
for(var field:String in data) {
fields.push(field);
stat.parameters[":"+field]=data[fieldName];
}
var sqlFields:String = fields.join(",");
var sqlValues:String = ":"+fields.join(",:");
stat.text="INSERT INTO "+table+" ("+sqlFields+")VALUES("+sqlValues+")";
stat.execute();
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
