Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:07:51
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。/liao/result.asp, 第 29 行
<%
set rst=server.CreateObject("adodb.recordset")
rst.open "select * from shuju1 where u_id='" & request.Form("i_id") &"'",conn,1,1
if rst.recordcount>0 then
'如果存在这个用户ID,对用户进行提示
response.Write "用户ID:" & request.Form("i_id") & "已经被占用!请点击后退按钮返回上一页!"
response.End
else
'如果用户ID不存在则写入数据
set rst1=conn.execute("insert into shuju1 (i_id,i_name,i_code,i_code1,i_sex,i_mail) values('"&request.form("u_id") & "','" & request.form("u_name") & "','" & request.form("u_code") & "','" & request.form("u_code1") & "','" & request.form("u_sex") & "','" & request.form("u_mail") & "')&qu

看你写的程序获取的名字是u_id吧,打开shuju1库找的是u_id肯定找不到拉,应该是i_id='" & request.Form("u_id") &"'",conn,1,1
如下:
rst.open "select * from shuju1 where i_id='" & request.Form("u_id") &"'",conn,1,1
if rst.recordcount>0 then
'如果存在这个用户ID,对用户进行提示
response.Write "用户ID:" & request.Form("u_id") & "已经被占用!请点击后退按钮返回上一页!"
response.End

你的29 行是它吗
if rst.recordcount>0 then

要使用recordcount属性,必须是客户端游标才行
rst.CursorLocation = adUseClient'(在打开纪录集之前设置)

set rst=server.CreateObject("adodb.recordset")
rst.CursorLocation = adUseClient
rst.open "select * from shuju1 where u_id='" & request.Form("i_id") &"'",conn,1,1

也可修改连接conn的属性
conn.CursorLocation = adUseClient