仓酷云 发表于 2015-1-16 22:34:35

ASP网页编程之怎样写一段高效,平安的sql查询代码

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对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。

小妖女 发表于 2015-1-19 17:20:13

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

蒙在股里 发表于 2015-1-25 20:16:41

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

飘灵儿 发表于 2015-2-3 20:48:32

掌握asp的特性而且一定要知道为什么。

透明 发表于 2015-2-9 05:04:30

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

再现理想 发表于 2015-2-27 00:04:22

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

因胸联盟 发表于 2015-3-8 18:38:49

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

山那边是海 发表于 2015-3-16 10:59:29

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

第二个灵魂 发表于 2015-3-22 22:28:34

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
页: [1]
查看完整版本: ASP网页编程之怎样写一段高效,平安的sql查询代码