ADO parameterised query not returning any result

瘦欲@ 提交于 2019-12-02 05:55:22

问题


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

回答1:


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"

to

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"

Useful Links

  • Using Stored Procedure in Classical ASP .. execute and get results
  • ASP parameters to call a stored procedure in SQL Server
  • Change stored proc to inline sql


来源:https://stackoverflow.com/questions/36154160/ado-parameterised-query-not-returning-any-result

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!