ADO parameterised query not returning any result(ADO 参数化查询不返回任何结果)
问题描述
我正在使用此查询从经典 asp 页面中的 vbscript 获取一些结果,但它没有返回任何值.页面是空白的,也没有错误.请问有什么建议吗?
I am using this query to get some results from my vbscript in a classic asp page and It does not come back with any values. The page is blank and there are no errors too. Any suggestion please?
dim cmd, admin_no
admin_no = request.QueryString("admin")
set cmd = server.CreateObject("ADODB.Command")
cmd.ActiveConnection = con
sql = ""
sql = sql & "DECLARE @admin_no int;"
sql = sql & "SELECT field1, field2 FROM mydb.mytable where admin_no = @admin_no"
cmd.CommandText = sql
cmd.CommandType = adCmdText
cmd.Parameters.Append cmd.CreateParameter("@admin_no", adInteger, adParamInput, , admin_no)
'response.write(cmd.Parameters(0))
'response.write(cmd.CommandText)
set rs = server.CreateObject("ADODB.Recordset")
rs.Open cmd
推荐答案
这里的问题是 adCmdText
使用 ?
占位符传递参数,换行
Problem here is adCmdText
uses ?
placeholder for passing parameters, change the line
sql = sql & "SELECT field1, field2 FROM mydb.mytable where admin_no = @admin_no"
到
sql = sql & "SELECT field1, field2 FROM mydb.mytable where admin_no = ?"
如果您想要将命名参数传递给您的查询没有太多选择,但这个小技巧很有用.
If you are wanting to pass named parameters to your query you don't have too many options but this little trick is useful.
sql = ""
sql = sql & "DECLARE @admin_no int;"
sql = sql & "SET @admin_no = ?;"
sql = sql & "SELECT field1, field2 FROM mydb.mytable where admin_no = @admin_no"
有用的链接
- 在经典 ASP 中使用存储过程 .. 执行并获得结果
- 在 SQL Server 中调用存储过程的 ASP 参数
- 将存储过程更改为内联sql
这篇关于ADO 参数化查询不返回任何结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ADO 参数化查询不返回任何结果


基础教程推荐
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 在多列上分布任意行 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01