今天要疯了,一天碰到了insert 和update两个同样的问题!

brawnen 2002-07-22 10:22:19
使用的数据库是access

查询的时候都好用,
就是使用insert into 的时候报错,把sql语句打出来,单独执行,正常,
第二个就是update,所有都正确,就是第一此我运行之后,在update,
怎么也不写进数据库里了。

哪位高人帮帮忙,非常着急啊!弄这个东西,一夜没有睡,
就卡在这里啦。
...全文
2 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzy9645 2002-07-22
日期前后加上#
回复
skyarrow 2002-07-22
有写的权限么?对匿名用户的。
回复
brawnen 2002-07-22
唉,我使用的都没有错,LoginTime字段是日期型,

所有上面两个语句,我把他们Response.Write(sql)
出来,然后在查询中运行,
全部能够正常运行,
你们有谁遇到过这样子的事情?
告诉我一下如何解决的。
回复
chulian 2002-07-22
sql="INSERT INTO loginrecord(UserIP,LoginTime) VALUES( '" & IP & "',#"& date() & "#)"
试试
回复
jeall 2002-07-22
在insert 的时候你考虑一下LoginTime字段,他是什么类型,他的值是否可允许date()?还是需要组合?
对于整形的字段,insert or update 时去掉值两边的撇号式一试
回复
brawnen 2002-07-22
对了,
运行的时候还有一个弹出的窗口,
上面写着
An exception of type 'runtime Error' was not handled.


回复
tcrazy 2002-07-22
试一下这个:
sql="INSERT INTO loginrecord (UserIP,LoginTime) VALUES( '" & IP & "','"& date() & "')"
注意空格
回复
brawnen 2002-07-22
大家帮我看看啊。
真的很急的。
回复
brawnen 2002-07-22
update 那个就不报错啊,而且我也没有使用On Error Resume Next
这样子,怎么找错误啊?

insert的错误如下
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37)
/checkuser.asp, 第 36 行


浏览器类型:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

页:
POST 43 bytes to /checkuser.asp

POST 数据:
ID=xxzx&password=xxzx&sumbmit1=%B5%C7%C2%BC

36行就是conB.Execute(sql)这行

回复
peter_zy 2002-07-22
先把语句贴出来,把报的错也贴一下。
回复
brawnen 2002-07-22
userID=Request.Form("ID")
pwd=Request.Form("password")
IP= Request.ServerVariables("REMOTE_ADDR")
Session("user_ID")=Request.Form("ID")

OpenDB conB
SQL = "SELECT * FROM UserInfor t where t.UserID='"&userID&"'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, conB

If rs.EOF Then
Response.Write("没有这个用户")
Response.Redirect("login.asp")
End If

'conB.Close()

sql="INSERT INTO loginrecord(UserIP,LoginTime) VALUES( '" & IP & "','"& date() & "')"

Response.Write(sql)

conB.Execute(sql)

上边是insert的。

user_ID=Session("user_ID")
rows=Request("rows")
titlelength=Request("titlelength")
displaystyle=Request("select")
textwidth=Request("textwidth")

Response.Write(rows)
Response.Write(titlelength)
Response.Write(displaystyle)
Response.Write(textwidth)

OpenDB con

sql="update UserInfor set DisRows='" & rows & "',TitleLength='" & titlelength &"',DisAuthor='"& displaystyle &"',TextWidth='"& textwidth &"' where UserID='" & user_ID &"'"

Response.Write(sql)
con.Execute(sql)

这里是update的,

OpenDB函数为
Sub OpenDB (ByRef con)
strPhysicalPath = Server.Mappath(".")
strDBName = "db.mdb"
Set con = Server.CreateObject("ADODB.Connection")
con.Open "DRIVER=Driver do Microsoft Access (*.mdb);UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=25;DefaultDir=" & strPhysicalPath & ";DBQ=" & strPhysicalPath & "\" & strDBName
End Sub

大家帮我看看吧。问题出在哪里?
回复
genuis 2002-07-22
把语句贴出来看看。
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告