★★谁找出原因散he 100分,破产在所不惜★★

flashagain 2003-12-14 04:39:04
源码:

dim sql2
sql2="update cd set "
sql2=sql2+"cdcontent='"+request("addcontent")+"',"
sql2=sql2+"cdtext='"+request("addname")+"',"
sql2=sql2+"cdid='"+request("addname")+"',"
sql2=sql2+"cdtype='"+request("addtype")+"',"
sql2=sql2+"maker='"+request("addmaker")+"',"
sql2=sql2+"note='"+request("addnote")+"',"
sql2=sql2+"date=#"+request("addtime")+"#"
sql2=sql2+" where id="+cstr(thisid)
response.Write sql2+"<br>"
conn.execute sql2,,adExecuteNoRecords
编译结果老是过不去,各位各位兄台快帮我扫一眼!

编译结果:

update cd set cdcontent='新实施方案中间资料',cdtext='XM-03-001',cdid='XM-03-001',cdtype='项目',maker='nd ',note='无',date=#2003-10-8# where id=1

Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access Driver] UPDATE 语句的语法错误。

/cd/asp/add.asp,行61

★为什么我调试出的sql2语句是对的,但它还是提示UPDATE 语句的语法错误?
★在那查/iisHelp/common/500-100.asp,行242 Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14' 的明细说明??



...全文
36 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashagain 2003-12-14
  • 打赏
  • 举报
回复
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
大家好!我的问题解决了!感谢大家的关心,csdn这是一个好地方
问题出在我的字段“note”,不知它是否是access的保留字,反正
一换就好了,不换死活都不行!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
flashagain 2003-12-14
  • 打赏
  • 举报
回复
sadf
loveme2000ok 2003-12-14
  • 打赏
  • 举报
回复
where id="+cstr(thisid)
你的这一句是不是有问题,因为刚开始的时候,这一句可能是一个空值或是0值,总之,你没有给这个thisid赋值,所以在执行语句的时候,会报错,说是什么缺少end之类的原因。

你可以这么修改一下,之前加上一个条件语句。
if thisid="" then
response.write "....."
else
thisid=..
end if
如果这个添上以后再出现问题了,
可能就是你的字段类型不相对应了,
反正是语句没有问题。形式如下:

if thisid="" then
response.write "....."
else
thisid=..
end if

sql2="update cd set "
sql2=sql2+"cdcontent='"+request("addcontent")+"',"
sql2=sql2+"cdtext='"+request("addname")+"',"
sql2=sql2+"cdid='"+request("addname")+"',"
sql2=sql2+"cdtype='"+request("addtype")+"',"
sql2=sql2+"maker='"+request("addmaker")+"',"
sql2=sql2+"note='"+request("addnote")+"',"
sql2=sql2+"date=#"+request("addtime")+"#"
sql2=sql2+" where id="+cstr(thisid)
response.Write sql2+"<br>"
conn.execute sql2,,adExecuteNoRecords
loveme2000ok 2003-12-14
  • 打赏
  • 举报
回复
你的这一句是不是有问题,因为刚开始的时候,这一句可能是一个空值,你没有给这个thisid赋值,所以在执行语句的时候,报错,说是什么缺少end之类的原因。
where id="+cstr(thisid)
你可以这么修改,前面加上一个条件语句。
if thisid="" then
response.write "....."
else
thisid=..
end if
如果这个再出现问题了,
可能就是你的字段类型不相对应了,
反正是语句没有问题。
bzscs 2003-12-14
  • 打赏
  • 举报
回复
update cd set cdcontent='新实施方案中间资料',cdtext='XM-03-001',cdid='XM-03-001',cdtype='项目',maker='nd ',note='无',date='2003-10-8' where id=1
-
时间类型有时用#不灵,用'就可以成功
angelheavens 2003-12-14
  • 打赏
  • 举报
回复
(1)注意数据类型要一致,字字段存储内容不超过规定长度;
(2)改:
A)sql2=sql2+" where id='"+cstr(thisid)&"'"
B)conn.execute(sql2)
flashagain 2003-12-14
  • 打赏
  • 举报
回复
是access,我快烦死了,不知是什么原因,
调试出的sql2语句是对的,但它还是提示UPDATE 语句的语法错误

------------------------------------------------------------------------------
response.Write sql2+"<br>"
------------------------------------------------------------------------------
update cd set cdcontent='新实施方案中间资料',cdtext='XM-03-001',cdid='XM-03-001',cdtype='项目',maker='nd ',note='无',date=#2003-10-8# where id=1
llx529 2003-12-14
  • 打赏
  • 举报
回复
什么数据库?有些数据库date两边是不能加“#”的,如果是sql server你试试把“#”改为“'”看看。
zl9732 2003-12-14
  • 打赏
  • 举报
回复
....
sql2=sql2+" where id="+cstr(thisid)'这里改为sql2=sql2+" where id='"+cstr(thisid)+"'"或sql2=sql2+" where id="+cint(thisid)看看

28,408

社区成员

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

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