insert into语句报错,头都大了,大虾帮忙看看,在线等,多谢!

flying213 2004-04-02 01:58:24
在编毕业设计,以前从来没学过asp.net,现在从头开始学,在编用户注册那一块儿时老是insert into语句报错,那一块儿代码是
tsql="insert into UserDatas(account,password,name,right,position,sex,Email)"
tsql=tsql & "values('" & request.form("account") & "','"
tsql=tsql & request.form("PWD") & "','"
tsql=tsql & request.form("name") & "','3','"
tsql=tsql & position.selecteditem.text & "','"
tsql=tsql & sexA & "','"
tsql=tsql & request.form("email") & "')"
错误是:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。

Source Error:


Line 27: objcmd=new oledbcommand(tsql,objconn)
Line 28: dim objreader as oledbdatareader
Line 29: objreader=objcmd.executereader()
Line 30:
Line 31: session("account")=request.form("account")

如果想看详细情况可以加我QQ,115634095,在线等,多谢大家!
...全文
29 点赞 收藏 23
写回复
23 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
flying213 2004-04-02
我把表的字段的名字改了一下,都好了,好怪!
to lsaturn(土星-站了一晚)
你都双星了,我才1个三角!放分的时候别忘了我,我毕业设计还没做到一半分都快没了!:(
你那么多分了那我这次就不给你分了啊:P
回复
lsaturn 2004-04-02
一不小心双星了
是不是又要放点东西来庆祝了:)
回复
xijupony 2004-04-02
楼上的说得没错,估计是password和name这两个字段的问题,你在SQL语句中把这两个字段加上定界符试试
tsql="insert into UserDatas(account,[password],[name],[right],[position],sex,Email)"
tsql=tsql & "values('" & request.form("account") & "','"
tsql=tsql & request.form("PWD") & "','"
tsql=tsql & request.form("name") & "','3','"
tsql=tsql & position.selecteditem.text & "','"
tsql=tsql & sexA & "','"
tsql=tsql & request.form("email") & "')"
回复
lsaturn 2004-04-02
password1试试
我现在都把自己定义的加个col_前缀
我是怕了了
回复
chendongqiang 2004-04-02
我没发现有什么问题,是access数据库吧,你把password字段改个名看看,
不行,就看看其他高手们怎么说吧
回复
flying213 2004-04-02
表是
account password name right position sex Email
flying213 820615 曲莉 1 学生 女 quli007@sina.com
GuoXin 000602 郭心 3 学生 男 guoxin@sina.com
ChenLi 000601 陈力 2 教师 男 chenli@sina.com


属性是:
account 文本 用户帐号
字段大小:50 必填字符串:否 允许空字符串:否
其他字段和这个属性都是一样的

回复
chendongqiang 2004-04-02
你这个表的结构,字段类型,长度等信息贴一下。或者这个表的sql语句。
回复
flying213 2004-04-02
好奇怪
tsql="insert into UserDatas(account)"
tsql=tsql & " values('" & request.form("account") & "')"
没错,
tsql="insert into UserDatas(password)"
tsql=tsql & " values('" & request.form("PWD") & "')"
就有错!
这两个字段的属性都是一样的啊
回复
chendongqiang 2004-04-02
你把打印的sql语句拷贝到数据库里执行以下,看看能不能通过?
回复
flying213 2004-04-02
还是有错
Exception Details: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。

Source Error:


Line 25: objcmd=new oledbcommand(tsql,objconn)
Line 26: dim objreader as oledbdatareader
Line 27: objreader=objcmd.executereader()
Line 28:
Line 29: session("account")=request.form("account")

:~~(
回复
xzq686 2004-04-02
下面那样试试:
dim account,password
account=Replace(request.form("account"),"'","''")
password=Replace(request.form("password"),"'","''")
tsql="insert into UserDatas(account,password) values('"&trim(account)& "','"&trim(passowrd)&"')"
回复
chendongqiang 2004-04-02
看看password的长度?
回复
flying213 2004-04-02
这两个字段都是文本
回复
flying213 2004-04-02
我一个column一个column的加,只有account时就没错,加上password时就报错了
回复
chendongqiang 2004-04-02
应该没错,看看这两个字段的类型,还有看哪些字段不可以为空。
回复
flying213 2004-04-02
打印出来好像没错啊,是
insert into UserDatas(account,password) values('apple','111111')
回复
chendongqiang 2004-04-02
是不是哪个数据中有"'",转换成"''".
回复
chendongqiang 2004-04-02
response.write tsql 看看,
回复
flying213 2004-04-02
打错了,是
tsql="insert into UserDatas(account)"
tsql=tsql & "values('" & request.form("account") & "')"就没错
改为tsql="insert into UserDatas(account,password)"
tsql=tsql & "values('" & request.form("account") & "','" & request.form("PWD") & "')"
就有问题了,为什么???
回复
chendongqiang 2004-04-02
打印一下看看,sql语句有没有问题。
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告