数据库连接问题,现场给分

opentuxedo 2003-07-11 05:30:37
我有一段脚本:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>
<%strname=request("name")%>
<%straddress=request("address")%>
<%strdate_y=request("date_y")%>
<%strdate_m=request("date_m")%>
<%strdate_d=request("date_d")%>
<%strdate=strdate_y&"-"&strdate_m&"-"&strdate_d%>
<%strusername=request("username")%>
<%strpassword=request("password")%>
<%
Set conn = Server.CreateObject("ADODB.Connection")
ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=test.mdb;DefaultDir=" & Server.MapPath(".") & ";DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5"
conn.Open ConnectionString
%><body>
<%Set rs = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECT * FROM user where username='"&strusername&"'"
rs.Open SqlStr,conn,1,1

if rs.recordcount=1 then
response.write "你的用户名已经存在!请换用户名<br>"
response.write "<a href=javascript:window.history.back()>返回</a>"
elseif rs.recordcount=0 then
call addnew()
end if%>
<%sub addnew()%>
<%Set rs1 = Server.CreateObject("ADODB.Recordset")
rs1.Open "user", conn, adOpenDynamic, 3
rs1.AddNew
rs1("name") = strname
rs1("address") = straddress
rs1("birthday") = strdate
rs1("username") = strusername
rs1("password") = strpassword
rs1.Update//这里出错
response.write "已成功录入!!"%>
<%end sub%>

</body>

</html>
在有些机器上可以正常运行,但有些机器上在 rs1.Update处出错。
谁能帮我解决?
...全文
58 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
opentuxedo 2003-07-11
  • 打赏
  • 举报
回复
对了,强调一点这段代码在有些机器上可以,有些机器上就不行。
opentuxedo 2003-07-11
  • 打赏
  • 举报
回复
以上办法都试过了,还是不行,ASP真难学,请问ASP中怎样
try{}
catch(CException e){}
dreamfly8848 2003-07-11
  • 打赏
  • 举报
回复
rs1.Open "user", conn, 1, 3
Bsq28 2003-07-11
  • 打赏
  • 举报
回复
把其中的sql 语句给换啦。
rs1.Open "user", conn, adOpenDynamic, 3

改为
sql="select * from user"
rs1.Open sql, conn, 3, 3
浙外 2003-07-11
  • 打赏
  • 举报
回复
在你使用OPEN的时候千万要注意噢。不要使用adOpenDynamic这种噢。除非你已经把那个文件INCLUDE进来了。还是老实点用数字好了
gooddot 2003-07-11
  • 打赏
  • 举报
回复
可能是插入时数据类型不匹配;
比如时间、字符;
要么换个方式插入
<%
sub addnew()
Set rs1 = Server.CreateObject("ADODB.Recordset")
Sql = "insert into user(name,address,birthday,username,password) values ('"&strname&"','"&straddress&"','"&strbirthday&"','"&strusername&"','"&strusername&"')"
rs1.Open Sql,conn,1,1
response.write "已成功录入!!"
end sub
%>
opentuxedo 2003-07-11
  • 打赏
  • 举报
回复
诸位你们说的权限是指什么权限呀?在哪里设置?
我的数据库是MDB数据库,数据库文件是可写的,而且我用Access也可以更改数据库内容
szhuk 2003-07-11
  • 打赏
  • 举报
回复
看你有没有update的权限。
twsky 2003-07-11
  • 打赏
  • 举报
回复
如果能填加就应该能更新啊,
是不是你在写数据库的时候有些字段不能为空所以写不进去呢?
你看看你的字段有没有不能为空的呢?
qianduo 2003-07-11
  • 打赏
  • 举报
回复
能增加不能更新吗?
如果这样的话你就去设一下权限吧!
wggipkhgef 2003-07-11
  • 打赏
  • 举报
回复
首先说一下你的注解方法是不对的,应当使用'符号注解,呵呵,好了不说这个了,开个玩笑。^_^


像这个插入记录没必要做出一个函数啊,
直接写就行啊,
rs1.Open "user", conn, 1, 3
rs1.AddNew
rs1("name") = strname
rs1("address") = straddress
rs1("birthday") = strdate
rs1("username") = strusername
rs1("password") = strpassword
rs1.Update
response.write "已成功录入!!"
rs1.close
set rs1=nothing

%>


不过说实话更新数据库的操作会经常出错,有时能行有时不行,我也经常出这种问题。

tripofdream 2003-07-11
  • 打赏
  • 举报
回复
可能是权限问题,参考
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=564
tuoshi 2003-07-11
  • 打赏
  • 举报
回复
把错误代码贴出来啊!

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧