错误:
*Microsoft OLE DB Provider for SQL Server error '80040e14'
Incorrect syntax near 'p'.
/TEST/order.asp, line 105*
第105行:
*Set rs = conn.Execute("INSERT INTO orders (OrderNumber,Items,DateT,Valuex,Name,Address,Email,Instructions,Terms,CountryFlag,Newsletter) VALUES ('"&OrderNumber&"','"&Items&"','"&DateT&"','"&Valuex&"','"&Name&"','"&Address&"','"&Email&"','"&Instructions&"','"&Terms&"','"&CountryFlag&"','"&Newsletter&"')")*
这在我们当前的网站上完全正常,但不适用于重新制作的版本。我假设它在前一页中出现错误,其中会话变量必须搞砸了?
答案 0 :(得分:0)
如果将其转换为存储过程,这将是最简单的。
但是对于您当前的情况,可能更容易创建命令对象并将值解析为参数。
Dim sqlstring As String = "INSERT INTO orders (OrderNumber, Items, DateT, Valuex, Name, Address, Email, Instructions, Terms, CountryFlag, Newsletter) " _
+ "VALUES('@OrderNumber', '@Items', '@DateT', '@Valuex', '@Name', '@Address', '@Email', '@Instructions', @Terms', '@CountryFlag', '@Newsletter')"
Dim comm As New SqlCommand(sqlstring, conn)
comm.Parameters.Add(New SqlParameter("@OrderNumber", OrderNumber))
comm.Parameters.Add(New SqlParameter("@Items", Items))
comm.Parameters.Add(New SqlParameter("@DateT", DateT))
comm.Parameters.Add(New SqlParameter("@Valuex", Valuex))
comm.Parameters.Add(New SqlParameter("@Name", Name))
comm.Parameters.Add(New SqlParameter("@Address", Address))
comm.Parameters.Add(New SqlParameter("@Email", Email))
comm.Parameters.Add(New SqlParameter("@Instructions", Instructions))
comm.Parameters.Add(New SqlParameter("@Terms", Terms))
comm.Parameters.Add(New SqlParameter("@CountryFlag", CountryFlag))
comm.Parameters.Add(New SqlParameter("@Newsletter", Newsletter))
conn.Execute()