0

我真的不喜欢使用经典的 asp,但我必须......

我有这个表格:

<form name="QRForm" id="frm" method="post" action="qry.asp">  
    <input name="orderno" type="int" value="<%=Order_id%>">
    <input name="" type="submit" value="Go To Next Step" />
</form>

这段代码qry.asp用于处理订单 ID

<%Set MySQLConn = Server.CreateObject("ADODB.Connection")
                            MySQLConn.Open "driver={SQL Server};server=..."
GetOrder = "SELECT * FROM Jobs WHERE JobID='%" & Order_id &"%';"
                            Set ShowOrder = MySQLConn.execute(GetOrder)
                            if ShowOrder.EOF then%>
                            <div class="initiatives">
                                <p>No such record</p>
                            </div>
                        <%else
                            Do While Not ShowOrder.EOF%>
                            <div class="initiatives">
                                <p><span><%=ShowOrder("JobID")%></span><br />
                                <%=(ShowOrder("Payments"))%></p>
                                </div>
                        <%ShowOrder.Movenext
                            Loop
                            end if%> 

我做错了什么还是需要转换Order_Id为整数?如果有怎么办?我已经尝试过castconvert通过会话通过它,但无济于事。任何帮助,将不胜感激。

4

2 回答 2

3

= 符号是错误的。如果您使用通配符 (%),则 SQL 语法为

SELECT * FROM Jobs WHERE JobID like '%YourValue%'.

我注意到您使用的是 ODBC 连接字符串,它应该可以工作,但 Native Client 或 OLEDB 通常被认为是 SQL Server 的更好选择 - 请参阅下面的链接

http://www.connectionstrings.com/sql-server/

于 2013-10-28T19:14:49.223 回答
0

我实际上是通过使用来管理它的

<% Dim OrderId 
OrderId =Request("Order")%>

  ......

 GetOrder = "SELECT * FROM Jobs WHERE JobID like'"+OrderId+"'"

注意:这种方式可能会使代码容易受到代码注入的影响。这是我知道的-但不在乎-

我认为你的代码应该也能正常工作,约翰。我只是无法让它在我的项目中工作(它返回 null)。无论如何谢谢你

你提到的连接字符串也很有趣。这段代码实际上是我对可能使用它的旧站点所做的一些修改的一部分。

于 2013-10-29T09:15:54.113 回答