asp 删除access数据库表中的数据

asp删除access数据库表中的数据我是在21.asp的页面里有这个<ahref='del.asp?订单号=<%=rs("订单号")%>'onclick='javasc... asp 删除access数据库表中的数据
我是在21.asp的页面里有这个
<a href='del.asp?订单号=<%=rs("订单号")%>' onclick='javascript: return confirm("你确定要删除吗? ");'>删除</a>

提交到
del.asp

数据地址是
..\common\DataBase\pgc.mdb

表是
ddmxb

主键是
订单号

请问asp高手怎么删除数据库表中的一条数据
就是在del.asp中怎么写!??
谢谢了!我是新手学习学习!~~

有人教我是
a href="del.asp?BID=<%=Rs("定单号")%>" onclick='Javascript:return confirm("你确定要删除吗?");'>删除</a>

至于为什么把del.asp?后的变量改写成英语而非中文 主要是涉及到一个地址栏中文解析的问题,有些服务器可以解析变正常显示中文;但有些却无法解析或者将中文解析为类似“%B0%D9%B6%C8%D6%AA%B5%C0%CD%B6%CB%DF”的字符。这样不便于后台操作。

del.asp的代码
<%
Dim BID
BID=Trim(Request("BID"))
if Not(IsNumeric(BID)) then '如果地址栏传递的定单号不是数字
BID=0
end if
Dim conn,connstr,rs,sql
conn=server.createObject("adodb.connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.Mappath("../common/DataBase/pgc.mdb")
conn.open connstr
Set Rs=Server.CreateObject("recordset")
sql="select * from [ddmxb] where 定单号="&BID&""
Rs.open sql,conn,1,1
if Rs.eof or Rs.bof then
Response.write"没有对应记录,或者记录已经被删除"
else
Conn.execute("delete * from [ddmxb] where 定单号="&BID&"")
Response.write"删除成功!"
end if
Set Rs=nothing
Conn.close
set conn=nothing
%>

但是显示

Microsoft VBScript 运行时错误 (0x800A01A8)
缺少对象: ''
/main/del.asp, 第 10 行

是不是要把数据库里的主键订单号改成BID???

请高手教教我!谢谢了!
谢谢一楼!
我改但是还是 错误类型: Microsoft VBScript 运行时错误 (0x800A01A8) 缺少对象: '' /main/del.asp, 第 10 行 第 10 行是 conn.open connstr 是不是要把数据库里的主键订单号改成BID???
展开
 我来答
baojie_nj
2007-12-18 · TA获得超过118个赞
知道答主
回答量:106
采纳率:0%
帮助的人:74.7万
展开全部
我在本机帮你测试了,建议及代码如下:
1、将数据库里【订单号】字段 改为英文
代码如下:替换del.asp即可

注意将代码中 两个 字段 替换为你修改过的英文字段
<%

Dim BID
BID=Trim(Request("BID"))
if Not(IsNumeric(BID)) then '如果地址栏传递的定单号不是数字
response.write"<script language='javascript'>alert('账单号不合法!');history.back(-1);</script>"
response.End
end if

Set conn = Server.CreateObject("ADODB.Connection")
P1="Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source="&Server.MapPath("../common/DataBase/pgc.mdb")
conn.open p1

Set Rs=Server.CreateObject("ADODB.recordset")
sql="select * from [ddmxb] where 字段'="&BID&""
response.write sql
Rs.open sql,conn,1,1
if Rs.eof or Rs.bof then
Response.write"没有对应记录,或者记录已经被删除"
else
Conn.execute("delete * from [ddmxb] where 字段="&BID&"")
Response.write"删除成功!"
end if
Set Rs=nothing
Conn.close
set conn=nothing
%>
回答完毕,有问题请补充
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fantasy_wl
2007-12-15 · TA获得超过904个赞
知道小有建树答主
回答量:1287
采纳率:100%
帮助的人:1304万
展开全部
你数据库的订单号是什么类型的
如果是文本的话
下面这句
sql="select * from [ddmxb] where 定单号="&BID&""
要改成
sql="select * from [ddmxb] where 定单号='"&BID&"'"
这句
Conn.execute("delete * from [ddmxb] where 定单号="&BID&"")
也改成
Conn.execute("delete * from [ddmxb] where 定单号='"&BID&"'")

注意单引号
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
risun8
2007-12-17 · 超过12用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:38万
展开全部
a href="del.asp?BID=<%=Rs("定单号")%>" onclick='Javascript:return confirm("你确定要删除吗?");'>删除</a>

该页连接到 del.asp?bid=定单号

del.asp页首先应该这样些
<%dim conn,connstr,db,startime
startime=timer()
db="../common/DataBase/pgc.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connstr
sub closedb()
conn.close
set conn=nothing
end sub
'######################################################连接ACCESS数据库
set rs=server.createobject("adodb.recordset")
sql="select * from ddmxb where 订单号="'"&bid&"
'###########################读取ddmxb表中订单号为连接过来的bid值的记录
rs.open sql,conn,3,2
'###########################打开为可读写删
rs.delete
'#########################删除检索的该记录
response.write "<script language='javascript'>"
response.write "alert('删除成功!');"
response.write "location.href='"&request.servervariables("http_referer")&"';"
response.write "</script>"
'###########################删除成功并返回前一页
rs.close
set rs=nothing
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gegeasp
2007-12-16 · 超过43用户采纳过TA的回答
知道答主
回答量:220
采纳率:0%
帮助的人:0
展开全部
Rs.open sql,conn,1,1
把后面那个1改成3

sql="select * from [ddmxb] where 定单号="&BID&""
这句,由于那个BID是数字型的,所以不用加后面的&""
Set Rs=Server.CreateObject("recordset")
sql="select * from [ddmxb] where 定单号="&BID
Conn.execute("delete * from [ddmxb] where 定单号="&BID)
If err.number<>0 then
Response.write"没有对应记录,或者记录已经被删除"
end if
Set Rs=nothing
Conn.close
set conn=nothing
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
everalan
2007-12-17 · TA获得超过1820个赞
知道大有可为答主
回答量:799
采纳率:0%
帮助的人:1378万
展开全部
各位兄弟姐妹,是第十行出错了conn=server.createObject("adodb.connection")
原因是缺少对象.你以前是写java之类的语言的吧.
在ASP的VB中创建对象应该加Set关键字
这句话应该写成
Set conn = Server.CreateObject("Adodb.Connection")
对于普通变量如字符串可以直接写connstr = "I love You"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式