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

新手求助asp插入数据的问题

hate_copy 发布于 2009-10-12 09:08, 946 次点击
job表结构
只有本站会员才能查看附件,请 登录

程序代码:
<%@ LANGUAGE="VBSCRIPT" %>
<!--#include file="./conn.asp"-->
<%
if trim(Request("submit")) = "提交" then
    dim title
    dim salary
    dim num
    dim sex
    dim age
    dim discrip
   
    title = Trim(Request("title"))
    salary = Trim(Request("salary"))
    num = Trim(Request("num"))
    sex = Trim(Request("sex"))
    age = Trim(Request("age"))
    discrip  = Trim(Request("fContent"))
   
   
    set rs=server.createobject("adodb.recordset")
    sql="select * from job"
    rs.open sql,conn,1,3
    'rs.movelast
    rs.AddNew
    rs("title") = title
    rs("num") = num
    rs("salary") = salary
    rs("sex") = sex
    rs("discrip")= discrip
    rs.update
    rs.close
    set rs=nothing
    conn.close
    set conn=nothing
    response.write "<script> alert('hi'); </script>"
end if
%>
提交表单后,数据库没有数据,大侠们,小弟刚学asp请问哪里不对,呵呵,麻烦指点:)
16 回复
#2
aspic2009-10-12 09:38
    rs.close
    set rs=nothing
    conn.close
    set conn=nothing
不是关了吗~
#3
hate_copy2009-10-12 09:43
以下是引用aspic在2009-10-12 09:38:26的发言:

    rs.close
    set rs=nothing
    conn.close
    set conn=nothing不是关了吗~
呵呵,是不是把这4行去掉,就OK了?
#4
msgj2009-10-12 10:06
看看conn.asp执行数据库连接了吗?
#5
hate_copy2009-10-12 10:14
回复 4楼 msgj
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./job.mdb")
连接数据库我是在百度知道上找到的这段代码
#6
aspic2009-10-12 10:15
以下是引用hate_copy在2009-10-12 09:43:59的发言:

呵呵,是不是把这4行去掉,就OK了?
不是这个意思~
#7
aspic2009-10-12 10:17
Set Conn = Server.CreateObject("ADODB.Connection")
StrConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("数据库路径")
Conn.Open StrConn
如果是放在ntfs格式的盘 还需要设置权限
#8
hate_copy2009-10-12 10:46
以下是引用aspic在2009-10-12 10:15:37的发言:

不是这个意思~
那,需要怎么改呀?asp这么复杂啊,呵呵
直接连接数据库 --》执行sql不就行了嘛
#9
msgj2009-10-12 11:21
Set conn=Server.CreateObject("ADODB.Connection")  
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./job.mdb")

看看job.mdb是不是在当前目录下。
#10
hate_copy2009-10-12 11:23
以下是引用msgj在2009-10-12 11:21:17的发言:

Set conn=Server.CreateObject("ADODB.Connection")  
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./job.mdb")

看看job.mdb是不是在当前目录下。
是在同一个目录下面的
#11
hate_copy2009-10-12 15:40
沉底了
#12
msgj2009-10-12 17:57
如果数据表中有age字段且不能为空,就把rs("age") = age加上
#13
无诲今生2009-10-12 18:24
是不是这句trim(Request("submit")) = "提交"
不成立?检查下
#14
zhongx2009-10-12 20:53
Set conn=Server.CreateObject("ADODB.Connection")   
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../job.mdb")
#15
zhongx2009-10-12 20:55
Set conn=Server.CreateObject("ADODB.Connection")   
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("job.mdb")


或把数据库放在当前目录下。
#16
hate_copy2009-10-12 20:57
可以了,但是不知道改了哪里,谢谢大家了:)

[ 本帖最后由 hate_copy 于 2009-10-13 14:34 编辑 ]
#17
chenguoxing5172009-10-13 15:46
将其
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./job.mdb")
改为
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("job.mdb")
注意将job.mdb放在当前要执行的文件的目录下

还有一个原因有可能就是该表里,有些字段内容不允许为空值,而你在添加的时候,没有给它赋值
1