' Setting variables
Dim con, sql_insert, data_source
data_source = "project_db"
sql_insert = "insert into cart ( UserID,Count,ProductName,ProductDescription,ProductPrice) values ('"&user_id&"','"&count&"','"&product_name&"','"&product_description&"','"&product_price&"')"
' Creating the Connection Object and opening the database
Set con = Server.CreateObject("ADODB.Connection")
con.Open data_source
' Executing the sql insertion code
con.Execute sql_insert
' Done. Now Close the connection
con.Close
Set con = Nothing
如您所见,这是一个简单的代码 . 它在我当地的主机上工作了5到6次 . 但现在它没有用 . 有什么问题 ?我想,这是关于我的数据库或内存 . 我在2台不同的计算机上安装了2个不同的iis,它们的行为相同......请帮忙..
谢谢
3 回答
它会给你任何错误信息吗?确保您插入的所有值实际上都具有值,并且不为空或空 . 您可以通过response.write所有值来检查它,然后是response.end以查看它们是否包含任何值 .
我敢打赌这是一个数据相关的错误 . 您应该使用ADO参数 . 这些将确保输入中无关的SQL不友好字符不会对数据库操作产生负面影响 . 您还应该使用它们来防止SQL注入问题 .
有些文档可以在http://msdn.microsoft.com/en-us/library/ms675869(VS.85).aspx找到,你可以谷歌查看"ADO parameters"并找到许多相关的例子 .
我认为'data_source'应该集中在(并且与Tom Gullen就错误消息达成一致 . 总是在页面顶部使用Option Explicit) .
con.Open要求在'data_source'中传递一些DSN参数或数据库连接字符串 .
示例分别为:
(这些'DSN_'参数在DSN配置中找到/设置)
要么 :