◇◆为什么出错的总是我!!??insert into竟然也会出错误!!!大家请进◇◆

laibagefei 2004-01-07 11:40:24
<%
set conn=server.createobject("ADODB.connection")
conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"&_
"Data Source="&Server.MapPath("db1.mdb")
conn.open
%>
<%
name = request("name")
position = request("position")
appellative = request("appellative")
comName1 = request("comName1")
comName2 = request("comName2")
comAddress1 = request("comAddress1")
comAddress2 = request("comAddress2")
comPostcode = request("comPostcode")
comEmail = request("comEmail")
comTel = request("comTel")
comFax = request("comFax")
inShow = request("inShow")
aimOfshow = request("aimOfshow")
chaOfoperation = request("chaOfoperation")
chaOfcor = request("chaOfcor")
way = request("way")

sql="insert into show (name,position,appellative,comName1,comName2,comAddress1,comAddress2,comPostcode,comEmail,comTel,comFax,inShow,aimOfshow,,chaOfoperation,chaOfcor,way) VALUES ('"&name&"','"&position&"','"&appellative&"','"&comName1&"','"&comName2&"','"&comAddress1&"','"&comAddress2&"','"&comPostcode&"','"&comEmail&"','"&comTel&"','"&comFax&"','"&inShow&"','"&aimOfshow&"','"&chaOfoperation&"','"&chaOfcor&"','"&way&"')"
conn.execute(sql)
response.write "<script language=javascript>alert('恭喜您,您的信息已经保存到数据库!');</script>"
%>


我的代码,ie
...全文
74 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
celerylhl 2004-01-07
  • 打赏
  • 举报
回复
第一种insert into 的语法在处理很长的字符串时,会导致连接不正确. 你可以这样子写试试:

sql="insert into show (name,position,appellative,comName1,comName2,comAddress1,"
sql=sql&"comAddress2,comPostcode,comEmail,comTel,comFax,inShow,aimOfshow,,chaOfoperation,chaOfcor,way)"
sql=sql&" VALUES ('"&name&"','"&position&"','"&appellative&"','"&comName1&"','"&comName2&"','"&comAddress1&"','"&comAddress2&"','"&comPostcode&"','"&comEmail&"','"&comTel&"','"&comFax&"','"&inShow&"','"&aimOfshow&"','"&chaOfoperation&"','"&chaOfcor&"','"&way&"')"


response.write sql '看一下语句字符串连接后正确不正确
Rgbvke 2004-01-07
  • 打赏
  • 举报
回复
我也認為用RS.ADDNEW好,以前我也發生過這類事情,問題始終都沒有找出來,最後還是用ADDNEW
scottwj 2004-01-07
  • 打赏
  • 举报
回复
sql="insert into show (name,position,appellative,comName1,comName2,comAddress1,comAddress2,comPostcode,comEmail,comTel,comFax,inShow,aimOfshow,,chaOfoperation,chaOfcor,way)
都跟你说了,你看看aimOfshow,,chaOfoperation,两个,号之间怎么没有字段名
pinson 2004-01-07
  • 打赏
  • 举报
回复
会不会是你传过来的变量有问题,比如说没有把单引号去掉等等?
加一个函数,把相关的特殊字符都屏蔽掉?
laibagefei 2004-01-07
  • 打赏
  • 举报
回复
兄弟们,问题已解决,谢谢大家参与

我用了
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM show",conn,1,3
rs.addNew
rs("name")=name
rs("position")=position
rs("appellative")=appellative
rs("comName1")=comName1
rs("comAddress1")=comAddress1
rs("comAddress2")=comAddress2
rs("comPostcode")=comPostcode
rs("comEmail")=comEmail
rs("comTel")=comTel
rs("comFax")=comFax
rs("inShow")=inShow
rs("aimOfshow")=aimOfshow
rs("chaOfoperation")=chaOfoperation
rs("chaOfcor")=chaOfcor
rs("way")=way
rs.update

这种语法,成功了,但不知道第一种方法怎么不可以???? 半郁闷中ing......
scottwj 2004-01-07
  • 打赏
  • 举报
回复
那样定义记录集,如定义的记录集为rs.
rs.addnew
rs("字段名")=变量
rs.update
scottwj 2004-01-07
  • 打赏
  • 举报
回复
sql="insert into show (name,position,appellative,comName1,comName2,comAddress1,comAddress2,comPostcode,comEmail,comTel,comFax,inShow,aimOfshow,,chaOfoperation,chaOfcor,way)
你看aimOfshow,,chaOfoperation,------中间是什么情况。
chhwang 2004-01-07
  • 打赏
  • 举报
回复
response.write(sql)看一下结果嘛
laibagefei 2004-01-07
  • 打赏
  • 举报
回复
还有一种添加记录的方式,好象是addnew什么的,请兄弟们给出语法,我试试那个语句可以吗?
scottwj 2004-01-07
  • 打赏
  • 举报
回复
是access,你把SQL语句放到access里的查询里试试撒
61 2004-01-07
  • 打赏
  • 举报
回复

sql="insert into [show] (name,position,appellative,comName1,comName2,comAddress1,comAddress2,comPostcode,comEmail,comTel,comFax,inShow,aimOfshow,,chaOfoperation,chaOfcor,way) VALUES ('"&name&"','"&position&"','"&appellative&"','"&comName1&"','"&comName2&"','"&comAddress1&"','"&comAddress2&"','"&comPostcode&"','"&comEmail&"','"&comTel&"','"&comFax&"','"&inShow&"','"&aimOfshow&"','"&chaOfoperation&"','"&chaOfcor&"','"&way&"')"
如果字段是数值类型则该字段值去掉“‘’”符号(即'"&comTel&"'改为"&comTel&")
scottwj 2004-01-07
  • 打赏
  • 举报
回复
这长的SQL语句,你叫别人帮你看实在是有点难。
不过,教你一个办法,我遇到同类的问题是这样解决的,在页面中把SQL语句输出来,在粘贴到SQL的查询分析器进行试,在那里比较好找错误。
mikespook 2004-01-07
  • 打赏
  • 举报
回复
你给所有的变量都加了单引号~~~
但是你是不是还有数字类型的字段呢?

数字类型的字段是不能加单引号的~~
潜水的鱼 2004-01-07
  • 打赏
  • 举报
回复
没认真看,说错了^_^

可用zorou_fatal(Morphing......)的方法
laibagefei 2004-01-07
  • 打赏
  • 举报
回复
我这里是Access,语法没有错误吧!!楼上的兄弟!

是不是数据库连接出问题了呢?
潜水的鱼 2004-01-07
  • 打赏
  • 举报
回复
同意楼上,

检查下,字段类型有没有不对的
zorou_fatal 2004-01-07
  • 打赏
  • 举报
回复
把sql 语句写出来,放到sql server 里执行一下就知道问题在哪了。
laibagefei 2004-01-07
  • 打赏
  • 举报
回复
IE显示

Microsoft JET Database Engine 错误 '80040e14'

INSERT INTO 语句的语法错误。

请大家帮助分析一下,谢谢

28,406

社区成员

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

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