Database 如何使用asp从access数据库中删除特定记录?

Database 如何使用asp从access数据库中删除特定记录?,database,forms,ms-access,asp-classic,vbscript,Database,Forms,Ms Access,Asp Classic,Vbscript,因此,我有一个名为browselitems.asp的页面,其中显示了我的所有数据库信息以及重定向到EditItem.asp的各个编辑按钮,这些按钮部分显示在下面,用于编辑或删除特定记录的数据库信息。编辑数据的部分工作正常,但我需要一些帮助来删除记录。以下是我所拥有的: 子记录 ItemCode=request.formitem\u代码 '创建ADO连接对象 暗连接 设置连接=Server.CreateObjectADODB.Connection '要打开Access数据库,我们的字符串如下所示:

因此,我有一个名为browselitems.asp的页面,其中显示了我的所有数据库信息以及重定向到EditItem.asp的各个编辑按钮,这些按钮部分显示在下面,用于编辑或删除特定记录的数据库信息。编辑数据的部分工作正常,但我需要一些帮助来删除记录。以下是我所拥有的:

子记录 ItemCode=request.formitem\u代码 '创建ADO连接对象 暗连接 设置连接=Server.CreateObjectADODB.Connection '要打开Access数据库,我们的字符串如下所示: 暗连接字符串 ConnectionString=DRIVER={Microsoft Access DRIVER*.mdb}&_ DBQ=&Server.MapPath\&&FolderName&\items.mdb;DefaultDir=;UID=;PWD=; '然后,要打开数据库,我们可以选择设置连接的某些属性并调用open Connection.ConnectionTimeout=30 Connection.CommandTimeout=80 连接。打开连接字符串 '创建ADO记录集对象 暗淡的 Set rs=Server.CreateObjectADODB.Recordset '使用SQL语句初始化strSQL变量以查询数据库 strSQL=SELECT*从ITEM_CODE='和ItemCode&'中选择 我知道这与上面的行有关-如果我用记录的实际项目代码替换ItemCode,则此代码有效,但我需要一种方法从所选记录中获取项目代码,并将其应用于显示ItemCode的位置

rs.LockType=3 '使用SQL查询打开记录集 rs.打开strSQL,连接 '告诉记录集我们正在删除记录 rs.删除 rs.Close '重置服务器对象 设置rs=无 设置连接=无 响应。写入记录已删除 端接头
也许我误解了什么,但它看起来像一个带参数查询的ADODB.Command,在这里可能很有用。我不明白为什么您需要一个记录集来删除带有给定ITEM_代码的记录

您似乎已经有了一个可用的ADODB.Connection。在本例中,我使用cnn而不是Connection作为对象变量的名称

Dim cmd'作为ADODB.Command 昏暗的夜光记录受影响的“时间一样长” strSQL=参数,其中包含项目Text255;&vbCrLf&_ 从项目中删除,其中项目代码=[哪个项目]; Set cmd=Server.CreateObjectADODB.Command cmd.CommandType=1'adCmdText 设置cmd.ActiveConnection=cnn cmd.CommandText=strSQL 'cmd.Parameters.Append cmd.CreateParameterwhich_项_ 'adVarChar,adParamInput,255,ItemCode cmd.Parameters.Append cmd.CreateParameterwhich_项_ 200,1255,项目代码 cmd.Execute lngRecordsAffected Set cmd=Nothing 'lngRecordsAffected是在您 “无论做什么都需要它。。。也许你想这样做。。。 响应。写入受影响的记录并删除记录
在我看来,您正在丢失ItemCode值。你会发布你的请求吗?request.form与post操作相关。另一方面,request.querystring通过get操作从querystring接收数据,requestItemCode捕获这两种情况

无论如何,你必须消毒!!!在连接之前,为了防止SQL注入,在您的例子中,假定ItemCode是一个整数,您可以像这样使用cint

ItemCode = cint(request("item_code"))
我猜您的查询没有抛出错误,因为单引号的存在(ItemCode为null)给出了一个不返回任何数据的有效SQL语句。调试时,您始终可以response.write strSQL previous来执行或打开句子