|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!看一看这段代码,让我们来看看次要存在的成绩
//设置SQL语句
insertstr="insertintouserinfo(name,password,email,phone,mobile,post,address)VALUES(";
insertstr+=this._name.Trim()
;+",";
insertstr+=this._password.Trim()+",";
insertstr+=this._email.Trim()+",";
insertstr+=this._phone.Trim()+",";
insertstr+=this._mobile.Trim()+",";
insertstr+=this._post.Trim()+",";
insertstr+=this._address.Trim()+")";
1、效力成绩
起首看看上边这段代码,效力太低了,这么多的字符串联接自己效力就够低的了,再加上这么些trim(),完整没有需要。
2、准确性成绩
这段代码太懦弱,一个单引号就能够使全部程序溃散。
3、平安性
同上,使用单引号我能够做良多事,好比运转个xp_cmd命令,那你就惨了,呵呵。
那末,如何来写呢,下面这段代码能够改成如许:
stringstrSql="insertintosometable(c1,c2,c3,...)values(@c1,@c2,@c3,...)"
SqlCommandmyCommand=newSqlCommand(strSql,myConn)
try
{
myCommand.Parameters.Add(newSqlParameters("@c1",SqlDataType.VarChar,20)
myCommand.Parameters["@c1"].Value=this._Name;
....
//有几个加几个
....
}
catch(...)
...
如许呢,既能够制止低效力的字符串联接,又能够使用sqlcommand参数无效性检测来制止不法字符的呈现,而且因为这类parameter体例是预编译的,效力更高。
一举数得,何乐而不为呢。
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。 |
|