主题:  asp操作access数据库的问题

飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#12004/10/22 12:11:55
以下是程序代码,错误信息Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
/asp/add.asp, 第 67 行,,这行是    db.Execute(strSql) 怎么回事呢?

<% Option Explicit %>
<%
If Request.Form("name")<>"" And Request.Form("mail")<>"" And Request.Form("dianhua")<>"" Then
    Dim db
    Set db=Server.CreateObject("ADODB.Connection")
    db.Open "Dbq="&Server.Mappath("wwwlink.mdb")&";Driver={Microsoft Access Driver (*.mdb)};"
    
    Dim strSql,link_id,varname,varmail,varxingbie,vardianhua,varchusheng,varsubmit_date,varqs1,varqs2,varqs3,varqs3_1,varqs4,varqs5,varqs6,varqs7,varqs8,varqs8_1,varqs9,varqs10,varqs11,varqs12,varqs12_1,varqs13,varqs13_1,varqs14,varqs15,varqs16,varqs16_1,varqs16_2,varqs16_3,varqs16_4,varqs17,varqs18,varqs18_1,varqs18_2,varqs19_3,varqs19_4,varqs19_5,varqs19_6,varqs20,varqs21,varqs21_1,varqs22,varqs23,varqs24,varqs25,varqs26,varqs27,varqs28,varqs29,varqs30,varqs31,varqs32,varqs32_1,varqs33,varqs33_1,varqs34
varName=Request.Form("name")
varmail=Request.Form("mail")
varxingbie=Request.Form("xingbie")
vardianhua=Request.Form("dianhua")
varchusheng=Request.Form("chusheng")
varqs1=Request.Form("qs1")
varqs2=Request.Form("qs2")
varqs3=Request.Form("qs3")
varName=Request.Form("qs3_1")
varName=Request.Form("qs4")
varName=Request.Form("qs5")
varName=Request.Form("qs6")
varName=Request.Form("qs7")
varName=Request.Form("qs8")
varName=Request.Form("qs8_1")
varName=Request.Form("qs9")
varName=Request.Form("qs10")
varName=Request.Form("qs11")
varName=Request.Form("qs12")
varName=Request.Form("qs12_1")
varName=Request.Form("qs13")
varName=Request.Form("qs13_1")
varName=Request.Form("qs14")
varName=Request.Form("qs15")
varName=Request.Form("qs16")
varName=Request.Form("qs16_1")
varName=Request.Form("qs16_2")
varName=Request.Form("qs16_3")
varName=Request.Form("qs16_4")
varName=Request.Form("qs17")
varName=Request.Form("qs18")
varName=Request.Form("qs18_1")
varName=Request.Form("qs18_2")
varName=Request.Form("qs19_3")
varName=Request.Form("qs19_4")
varName=Request.Form("qs19_5")
varName=Request.Form("qs19_6")
varName=Request.Form("qs20")
varName=Request.Form("qs21")
varName=Request.Form("qs21_1")
varName=Request.Form("qs22")
varName=Request.Form("qs23")
varName=Request.Form("qs24")
varName=Request.Form("qs25")
varName=Request.Form("qs26")
varName=Request.Form("qs27")
varName=Request.Form("qs28")
varName=Request.Form("qs29")
varName=Request.Form("qs30")
varName=Request.Form("qs31")
varName=Request.Form("qs32")
varName=Request.Form("qs32_1")
varName=Request.Form("qs33")
varName=Request.Form("qs33_1")
varName=Request.Form("qs34")
StrSql="Insert Into link(name,mail,xingbie,dianhua,chusheng,submit_date,qs1,qs2,qs3,qs3_1,qs4,qs5,qs6,qs7,qs8,qs8_1,qs9,qs10,qs11,qs12,qs12_1,qs13,qs13_1,qs14,qs15,qs16,qs16_1,qs16_2,qs16_3,qs16_4,qs17,qs18,qs18_1,qs18_2,qs19_3,qs19_4,qs19_5,qs19_6,qs20,qs21,qs21_1,qs22,qs23,qs24,qs25,qs26,qs27,qs28,qs29,qs30,qs31,qs32,qs32_1,qs33,qs33_1,qs34) values('" & varname &" ','"& varmail &"','" & vardianhua &"','"& varchusheng &"','" & varqs1 &"','" & varqs2 &"','" & varqs3 &"','" & varqs3_1 &"','" & varqs4 &"','" & varqs5 &"','" & varqs6 &"','" & varqs7 &"','" & varqs8 &"','" & varqs8_1 &" ','" & varqs9 &"','" & varqs10 &"','" & varqs11 &"','" & varqs12 &"','" & varqs12_1 &"','" & varqs13 &"','" & varqs13_1 &"','" & varqs14 &"','" & varqs15 &"','" & varqs16 &"','" & varqs16_1 &"','" & varqs16_2 &"','" & varqs16_3 &"','" & varqs16_4 &"','" & varqs17 &"','" & varqs18 &"','" & varqs18_1 &"','" & varqs18_2 &"','" & varqs19_3 &"','" & varqs19_4 &"','" & varqs19_5 &"','" & varqs19_6 &"','" & varqs20 &"','" & varqs21 &"','" & varqs21_1 &"','" & varqs22 &"','" & varqs23 &"','" & varqs24 &"','" & varqs25 &"','" & varqs26 &"','" & varqs27 &"','" & varqs28 &"','" & varqs29 &"','" & varqs30 &"','" & varqs31 &"','" & varqs32 &"','" & varqs32_1 &"','" & varqs33 &"','" & varqs33_1 &"','" & varqs34 &"',#" & Date() & "#)"
    db.Execute(strSql)
    Response.write "添加成功"
Else
    Response.Write "请将所有信息填写完整,"
    Response.Write "<a href='add_form.asp'>重新添加</a>"
End If
%>



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#22004/10/22 14:02:07
Insert Into link([name],mail,xingbie..


这么多字段说明你数据库设计有问题



飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#32004/10/22 14:30:47
那是不是字段太多的问题呢?我这个是一个调查问卷,共有40个字段,每个题一个字段!

编辑历史:[此帖最近一次被 蓝鲸 编辑过(编辑时间:2004-10-22 14:43:16)]


飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#42004/10/22 14:37:15
现在提示STRSQL那个语句错误!?是不是长度问题



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#52004/10/22 14:49:01
heroflt在上个帖子中说
引用:
那是不是字段太多的问题呢?我这个是一个调查问卷,共有40个字段,每个题一个字段!


作为一个临时性项目也不强求了。但你的数据库设计确实犯了个原则性的错误。比如,一个有一百个员工的数据表,不能把每个员工设计成一个字段,而应使员工成为一条记录。答卷也一样,可以使每题成为一条记录,表字段可以是ID、Title、Result(答案)...,如果有分类可以增加分类字段。对题目的增加你可以增加记录,这样这个答卷程序可以反复使用了。


非常大鱼

飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#62004/10/22 15:08:51
但作为答题的数据库也只能这样了。我是把每个题作为一个字段,而这个问卷肯定会有很多人来做。所以每个人的答题记录作为一个记录保存进数据库。
我现在在插入STRSQL语句的时候不能通过,我的字段有40条左右,我试着把提交的记录减少到15条左右就可以顺利提交。
我现在想问的是sql的语句对字段的长度和数量有无限制!???



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#72004/10/22 15:10:33
你看看两边的长度是不是一致



飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#82004/10/22 15:18:02
我全部检查过了,包括DIM和VAR以及数据库都一致的!
这个是临时的项目,要求本不高阿



飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#92004/10/22 15:22:50
大家快帮我想想办法阿



飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#102004/10/22 15:25:27

的确是长度问题!!!不知道有无办法解决



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#112004/10/22 15:30:57
heroflt在上个帖子中说
引用:
大家快帮我想想办法阿


问题一般出在你的SQL语句上,在SQL SERVER上,Name是作为固有字,不能直接用,应该写成[Name],ACCESS上用可能也有问题。其它一些连接上的错误只有你自己检查了,这么长,眼都花了。只有你自己调最清楚,别人要看清楚比你难2倍了。

这样设计有麻烦了是吧。


非常大鱼

飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#122004/10/22 15:39:02
是的,这样设计的确很苯!
字段应该没有问题,我试着删除前18个字段和删除后18个字段,程序都可以通过。肯定是INSERT 字段数量太多的问题,老大,帮我想个办法吧。或者把你的qq公布给我,我拜师了!



飞飞公子

职务:普通成员
等级:1
金币:0.0
发贴:9
#132004/10/22 15:48:26
哈哈,终于搞定了!原来有一个多一个字段!!!!!看来万事还是要靠自己阿!
多谢各位的帮忙了!!



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#142004/10/22 16:01:29
heroflt在上个帖子中说
引用:
哈哈,终于搞定了!原来有一个多一个字段!!!!!看来万事还是要靠自己阿!
多谢各位的帮忙了!!


当然,调试自己是最清楚的了,特别是一些粗心的问题。
另外别人没有调度环境(不能用你的数据库)
坚信,自己一定可以拿下


非常大鱼

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#152004/10/22 16:52:38
heroflt在上个帖子中说
引用:
哈哈,终于搞定了!原来有一个多一个字段!!!!!看来万事还是要靠自己阿!
多谢各位的帮忙了!!



引用:
你看看两边的长度是不是一致


早提醒你了