' 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,它们的行为相同......请帮助..
由于
答案 0 :(得分:1)
它会给你任何错误信息吗?确保您插入的所有值实际上都具有值,并且不为空或空。您可以通过response.write所有值来检查它,然后是response.end以查看它们是否包含任何值。
答案 1 :(得分:1)
我敢打赌这是一个与数据相关的错误。您应该使用ADO参数。这些将确保输入中无关的SQL不友好字符不会对数据库操作产生负面影响。您还应该使用它们来防止SQL注入问题。
http://msdn.microsoft.com/en-us/library/ms675869(VS.85).aspx提供了一些文档,您可以谷歌搜索“ADO参数”并查找许多相关示例。
答案 2 :(得分:0)
我认为'data_source'应该集中在(并且与Tom Gullen就错误消息达成一致。总是在页面顶部使用Option Explicit)。
con.Open要求在'data_source'中传递一些DSN参数或数据库连接字符串。
示例分别为:
data_source = DSN_Database, DSN_User, DSN_Password
(在DSN配置中找到/设置了这些'DSN_'参数)
或者:
data_source = "Driver={SQL Server};Server=server.domain.com;Database=project_db;uid=MyUser;pwd=MyPass;""