ASP Classic VBscript sparametryzowane zapytanie SQL?
Pierwszy post, ale dziękuję za całą dotychczasową pomoc z tej strony.
Próbuję sparametryzować zapytanie SQL:
query_url = Request.QueryString("ID")
Set rs = Server.CreateObject("ADODB.Recordset")
Set cmd = server.createobject("ADODB.Command")
cmd.ActiveConnection = Internet_String
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT NAME FROM OWNER.TABLE WHERE ID = " + "?" + ""
Set param = cmd.CreateParameter(, , ,200 , Replace(query_url, "'", "''"))
cmd.Parameters.Append param
Set rs = cmd.Execute()
Więc jeśli używam (bez parametrów):
SELECT NAME FROM OWNER.TABLE WHERE ID = " + Replace(query_url, "'", "''") + ""
Działa dobrze, więc wiem, że moje połączenie DB i query_url działają. Czy coś jest nie tak z moją instrukcją SQL w sparametryzowanym zapytaniu? Próbowałem tego na wiele różnych sposobów.
Kiedy uruchomię sparametryzowane zapytanie w Dreamweaver, strona nie zostanie załadowana w dowolnym momencie, po prostu się obraca, zakładam, że nie otrzyma odpowiedzi z bazy danych.
Dzięki!
EDYTOWAĆ
W porządku dzięki za pomoc do tej pory, zbliżam się. Strona ładuje się teraz, ale pola są nadal puste, heres, co mam do tej pory:
Set rs = Server.CreateObject("ADODB.Recordset")
Set cmd = server.createobject("ADODB.Command")
cmd.ActiveConnection = internet_string
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT NAME FROM OWNER.TABLE WHERE ID = @param"
Set param = cmd.CreateParameter("@param", , ,200 , query_url)
cmd.Parameters.Append param
response.Write(param)
Set rs = cmd.Execute()
Oto, w jaki sposób odwołuję się do danych:
<strong>Name: <%=(rs.Fields.Item("NAME").Value)%></strong>
Jakieś pomysły?