首页 文章

使用经典ASP的ADO插入

提问于
浏览
-1
' 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 回答

  • 0

    它会给你任何错误信息吗?确保您插入的所有值实际上都具有值,并且不为空或空 . 您可以通过response.write所有值来检查它,然后是response.end以查看它们是否包含任何值 .

  • 1

    我敢打赌这是一个数据相关的错误 . 您应该使用ADO参数 . 这些将确保输入中无关的SQL不友好字符不会对数据库操作产生负面影响 . 您还应该使用它们来防止SQL注入问题 .

    有些文档可以在http://msdn.microsoft.com/en-us/library/ms675869(VS.85).aspx找到,你可以谷歌查看"ADO parameters"并找到许多相关的例子 .

  • 1

    我认为'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;""
    

相关问题