仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 714|回复: 11
打印 上一主题 下一主题

[学习教程] ASP网页编程之ASP向SQL语句(不是存储历程)传送参数

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:10:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。存储历程|语句四年前写的一个内容办理体系,使用在公司外部网上,今天DBA说个中的SQL语句未利用参数化的挪用,招致服务器包袱减轻,资本占用年夜。并列出了几个占用资本较年夜的语句,相似以下:
SELECTART_ID,ART_TITLE,...FROMUSR_NEWS.VIEW_ARTICLEWHEREART_ISPASSED=YandART_CLASS=4066ORDERBYART_PASSTIMEDESC
个中where子句中的ART_CLASS的值是先断定后组合好如许整条sql语句,然后经由过程ado往实行的。因参数值分歧,在服务器端会发生分歧的sql语句,假如有10万个值,服务器就会为这10万条sql语句创立缓存。DBA说要改成art_class=:V体例(oracle数据库),我用与会见存储历程相似的代码来写,以下:
dimuserid
userid=1234
...
Command1.CommandText="SELECT*fromuserswhereuserid=:V"
Command1.Parameters.AppendCommand1.CreateParameter(":v",,,,userid)
setrs=Command1.Execute

运转时在CreateParameter语句处有以下堕落提醒:
ADODB.Command(0x800A0BB9)
参数范例不准确,或不在能够承受的局限以内,或与其他参数抵触。
晕逝世,为何存储历程能够,间接sql语句不可呢?
把省略的参数加上,仍是不合错误。
试了几回,都不可,因而找微软手艺撑持,几经周转终究办理了。本来经由过程ADO会见时sql语句中的参数要用“?”不必“:”“@”,以下为微软工程师对此成绩的小结:

成绩形貌:

在ASP中,假如经由过程VBScript挪用ADO操纵序列化SQL查询.您依照.NET的挪用办法呈现0x800A0BB9毛病。

办理举措:

在VB中挪用ADO的序列化查询,您能够参考上面两篇文章:

HowToInvokeaParameterizedADOQueryUsingVBA/C++/Java

http://support.microsoft.com/?id=181734



INFO:VisualBasicAccessinganOracleDatabaseUsingADO

http://support.microsoft.com/?id=176936

必要注重的是,在VBScript中,良多常量没有界说,好比adInteger,我们必要器具体的数值取代。关于CreateParameter的具体申明,请参考:

CreateParameterMethod

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthcreateparam.asp

再次感激您致电微软。

</p>楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。
admin 该用户已被删除
12#
发表于 2015-3-20 07:33:43 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
金色的骷髅 该用户已被删除
11#
发表于 2015-3-13 00:49:21 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
愤怒的大鸟 该用户已被删除
10#
发表于 2015-3-6 12:08:32 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
精灵巫婆 该用户已被删除
9#
发表于 2015-2-19 02:27:46 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
谁可相欹 该用户已被删除
8#
发表于 2015-2-6 23:38:47 | 只看该作者
那么,ASP.Net有哪些改进呢?
第二个灵魂 该用户已被删除
7#
发表于 2015-1-31 21:39:31 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
海妖 该用户已被删除
6#
发表于 2015-1-24 13:32:11 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
莫相离 该用户已被删除
5#
发表于 2015-1-24 06:16:27 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
再见西城 该用户已被删除
地板
发表于 2015-1-22 19:56:59 来自手机 | 只看该作者
掌握asp的特性而且一定要知道为什么。
蒙在股里 该用户已被删除
板凳
发表于 2015-1-21 23:52:37 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-18 12:54:13 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 10:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表