注册 登录
编程论坛 ASP技术论坛

为什么这段asp插入数据代码执行后,数据库表五反应。请大侠们帮忙

twtrwr 发布于 2011-03-31 11:25, 1185 次点击
上面是个留言板的html代码,,,部分如下:

<form action="liuyan.asp" method="POST"   runat="server">

<p align="left">姓名:<input type="text" name="name" size="20" align="left"></p>

<p align="left">标题:<input type="text" name="title" size="20" align="left"></p>

<p align="left">内容:</p>

<p align="left"><textarea rows="11" name="content" cols="60" align="left"></textarea></p>


<p align="left"><input type="submit" value="提交" name="B1" style="color:#000000"><input type="reset" value="重置" name="B2" style="color:#000000"></p>

</form>
在网页中asp插入代码
<%
dim str,conn
str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("db/ly.mdb") '连接数据库路径
Set conn = Server.CreateObject("ADODB.Connection")
If Err Then
err.Clear
 conn = Nothing
Response.Write "系统正在维护之中,暂时不能访问! 标准错误。。。。。"
Response.End
End If
 if Request.Form("submitok")="B1" then   
sql="INSERT INTO ly (name,content,time,ip) VALUES ('"
          sql=sql & Request("name") & "','"  & Request("title") & "','" & Request("content") & "')"
        set rs=conn.execute(sql)
        if rs.eof
         then response.Write("连接失败")
         

%>为什么这段asp插入数据代码执行后,数据库表五反应。请大侠们帮忙

[ 本帖最后由 twtrwr 于 2011-3-31 13:08 编辑 ]
10 回复
#2
yms1232011-03-31 11:52
<%
dim str,conn
str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("db/ly.mdb") '连接数据库路径
Set conn = Server.CreateObject("ADODB.Connection")
If Err Then
err.Clear
conn = Nothing
Response.Write "系统正在维护之中,暂时不能访问! 标准错误。。。。。"
Response.End
End If
IF Request.Form("submitok")="B1" then
   On Error Resume Next   
   con.open str
   sql="INSERT INTO ly (name,content,time,ip) VALUES ('"
   sql=sql & Request("name") & "','"  & Request("title") & "','" & Request("content") & "')"
   conn.execute sql
   IF Err.Number<>0 Then
       Response.Write("连接失败")
   End IF
End if
 %>
#3
twtrwr2011-03-31 13:00
回复 楼主 twtrwr
为什么这个插入操作完成后,,,数据表里看不到这些数据,,版主看下,,是不是哪里错误了
#4
yms1232011-03-31 14:04
<%
dim str,conn
str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("db/ly.mdb") '连接数据库路径
Set conn = Server.CreateObject("ADODB.Connection")
If Err Then
err.Clear
conn = Nothing
Response.Write "系统正在维护之中,暂时不能访问! 标准错误。。。。。"
Response.End
End If
IF Request.Form("submitok")="B1" then
   On Error Resume Next   
   con.open str
   set rs=server.createobject("adodb.recordset")
   rs.open "select * from ly",conn,1,3
   rs.addnew
   rs("name")=Request("name")
   rs("title")=Request("title")
   rs("content")=Request("content")
   rs.update
   IF Err.Number<>0 Then
       Response.Write("连接失败")
   End IF
End if
%>
#5
hams2011-03-31 14:30
代码不完整
#6
twtrwr2011-03-31 16:27
回复 5楼 hams
recordset对象这个方法可以向数据库中添加数据成功,,,但是用execute方法却无法向数据库中插入数据
<% dim str,conn
str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("db/ly.mdb") '连接数据库路径
Set conn = Server.CreateObject("ADODB.Connection")
conn.open str
If Err Then
err.Clear
conn = Nothing
Response.Write "系统正在维护之中,暂时不能访问! 标准错误。。。。。"
Response.End
End If
IF Request.Form("B1")="tj" then
   On Error Resume Next   
   con.open str


'   set rs=server.createobject("adodb.recordset")
'   rs.open "select * from ly",conn,1,3
'   rs.addnew
'   
'   rs("name")=Request("name")
'   rs("title")=Request("title")
'   rs("content")=Request("content")
'   rs.update


sql="INSERT INTO ly (name,content,time,ip) VALUES ('"
          sql=sql & Request("name") & "','"  & Request("title") & "','" & Request("content") & "')"
        conn.execute(sql)
End if
为什么用recordset对象这个方法可以向数据库中添加数据成功,,,但是用execute方法却无法向数据库中插入数据,,,execute这段代码哪里有错误吗
#7
twtrwr2011-03-31 16:28
回复 4楼 yms123
recordset对象这个方法可以向数据库中添加数据成功,,,但是用execute方法却无法向数据库中插入数据
<% dim str,conn
str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("db/ly.mdb") '连接数据库路径
Set conn = Server.CreateObject("ADODB.Connection")
conn.open str
If Err Then
err.Clear
conn = Nothing
Response.Write "系统正在维护之中,暂时不能访问! 标准错误。。。。。"
Response.End
End If
IF Request.Form("B1")="tj" then
   On Error Resume Next   
   con.open str


'   set rs=server.createobject("adodb.recordset")
'   rs.open "select * from ly",conn,1,3
'   rs.addnew
'   
'   rs("name")=Request("name")
'   rs("title")=Request("title")
'   rs("content")=Request("content")
'   rs.update


sql="INSERT INTO ly (name,content,time,ip) VALUES ('"
          sql=sql & Request("name") & "','"  & Request("title") & "','" & Request("content") & "')"
        conn.execute(sql)
End if
为什么用recordset对象这个方法可以向数据库中添加数据成功,,,但是用execute方法却无法向数据库中插入数据,,,execute这段代码哪里有错误吗
#8
hams2011-03-31 16:59
name,content,time,ip

对应

Request("name") & "','"  & Request("title") & "','" & Request("content")

还少一个
#9
twtrwr2011-03-31 17:20
回复 7楼 twtrwr
我的数据库有以下几个字段 id    ,name,  title, content, time,  ip
而改后的语句如下:
If Err Then
err.Clear
conn = Nothing
Response.Write "系统正在维护之中,暂时不能访问! 标准错误。。。。。"
Response.End
End If
IF Request.Form("B1")="tj" then
   On Error Resume Next   
   con.open str
'   set rs=server.createobject("adodb.recordset")
'   rs.open "select * from ly",conn,1,3
'   rs.addnew
'   
'   rs("name")=Request("name")
'   rs("title")=Request("title")
'   rs("content")=Request("content")
'   rs.update
sql="INSERT INTO ly (id,name,title,content,time,ip) VALUES ('"
          sql=sql & id &" ','"  & Request("name") & "','"  & Request("title") & "','" & Request("content") & "','"& now()&"','" &request.servervariables("REMOTE_ADDR") & "')"
        conn.execute(sql)
End if
但是还是无法插入数据向数据库中
#10
hams2011-04-01 08:12
无法插入是没反应还是出错,要说清楚
另一个还要跟踪代码运行的情况,要执行这段代码,是有条件的,你的条件符合了没有。
#11
dzt00012011-04-01 10:22
只看代码是看不出什么的,你要根据500错误提示去判断哪里出错了。
同时,非常不建议使用保留字作为字段名,如name、time等
1