Sql 简单获取ASP准备语句

Sql 简单获取ASP准备语句,sql,asp-classic,Sql,Asp Classic,我什么都用过php,但现在我需要用ASP在MS SQL中查找一些东西 看在上帝的份上,我想不出如何将post参数绑定到一个准备好的语句并打印结果 我只需要为每个查找获取1行,其中SQL语句如下所示: 从ID=?的成员中选择ID、名称 我从一个例子和一些帖子中了解到: Response.Buffer = True On Error Resume Next Dim host Dim port Dim user Dim password Dim database host = "host" port

我什么都用过php,但现在我需要用ASP在MS SQL中查找一些东西

看在上帝的份上,我想不出如何将post参数绑定到一个准备好的语句并打印结果

我只需要为每个查找获取1行,其中SQL语句如下所示:

从ID=?的成员中选择ID、名称

我从一个例子和一些帖子中了解到:

Response.Buffer = True
On Error Resume Next
Dim host
Dim port
Dim user
Dim password
Dim database

host = "host"
port = "1433"
user = "user"
password = "pass"
database = "database"

Dim conn
Set conn = Server.CreateObject("ADODB.Connection")

Dim ds
ds = host & "," & port
Dim connString
connString = "Provider=SQLOLEDB;Data Source=" & ds & ";Network Library=DBMSSOCN;Initial Catalog=" & database & ";User Id=" & user & ";Password=" & password & ";"

conn.Open connString

Dim cmdPrep1 As New ADODB.Command

Set cmdPrep1.ActiveConnection = cn
cmdPrep1.CommandText = "SELECT ID,NAME FROM MEMBERS WHERE ID =?"
cmdPrep1.CommandType = adCmdText
cmdPrep1.Prepared = True
这就是我知识的终点

如何将输入参数(POST)绑定到上面的参数,并打印获取的行


为什么与php相比,基本ASP示例很难获得?我觉得很奇怪。

这在经典asp中不起作用:

Dim cmdPrep1 As New ADODB.Command
必须使用server.createobject,如下所示:

dim cmdPrep1 : set cmdPrep1 = server.createobject("ADODB.Command")

cmdPrep1.ActiveConnection = cn
cmdPrep1.CommandType = adCmdText
cmdPrep1.CommandText = "SELECT ID,NAME FROM MEMBERS WHERE ID =?"


cmdPrep1.parameters.Append cmd.createParameter( "ID", adInteger, , , Request.Form("nameOfIDField") )

dim rs : set rs = cmdPrep1.execute

现在您的变量rs中有了一个参数。

似乎在使用经典ASP的存储过程中有许多参数示例,看起来您并没有非常努力地尝试过。在10秒后,我发现了这一点。这里有一个想法,如果你不发表你自己的问题,它会让你有所收获。我无法理解这个帖子。似乎他们返回的是绑定的参数,而不是结果集中的任何内容。搜索SO会给我大量的帖子,其中包含0个答案。如果你能解决我的问题,请帮助我这样做,而不是指出我“可以”自己解决它,因为,是的,我可能可以,使用10倍的时间谁知道ASP为我提供一个适当的解决方案。如果你是那个人,请帮助我。事实上,我已经用不同的方式回答了这个问题无数次,这就是为什么我不会道歉。查看
cmdPrep1.Parameters.Append(.CreateParameter(“parametername”,adVarWChar,adParamInput,50))
请参阅