请教这个SQL语句哪儿出问题了,急,在线等(50分)

L

lygzerg

Unregistered / Unconfirmed
GUEST, unregistred user!
qry1.Close;<br>&nbsp; qry1.SQL.Clear;<br>&nbsp; qry1.SQL.add('insert into user(用户名,姓名,单位,密码) values :)yhm,:xm,:dw,:mm)');<br>&nbsp; qry1.Parameters.ParamByName('yhm').Value:=Trim(edt1.Text);<br>&nbsp; qry1.Parameters.ParamByName('xm').Value:=Trim(edt2.Text);<br>&nbsp; qry1.Parameters.ParamByName('dw').Value:=Trim(edt3.Text);<br>&nbsp; qry1.Parameters.ParamByName('mm').Value:=Trim(edt4.Text);<br>&nbsp; qry1.Prepared;<br>&nbsp; qry1.ExecSQL;<br>运行时提示insert into语法错误!<br>//access数据库
 
报嘛错你都不说 这年头真是什么奇人都有
 
写的不错,挺勤快的,老子基本上都不用Parameters 直接写 老了 懒
 
user是保留字吧,用[user]试试<br>最好不要用关键字/保留字当对象名(表,字段,索引等)
 
qry1.SQL.add('insert into user(用户名,姓名,单位,密码) values :)yhm,:xm,:dw,:mm)');<br>把这句拆开成两个 &nbsp;values写到另个qry1.SQL.add<br>以前碰到过 就这么解决的 <br>操作ACCESS就这熊样 莫名其妙问题一大堆
 
表名不要定义成user,这个是数据库的关键字,用了后,这个sql语句会报错<br>建议换个别的名字
 
楼上的应该是正解了。
 
不关user的事,access 不允许插入空字符,你的edit1.text等 有可能是空格,给你trim一下,就成为空字符了,就出错了。
 
将user表名换成别的,否则会与delphi的关键字相冲突
 
你在窗口上放一个memo,在qry.exesql前加一句memo1.text:=qry.sql.text;把这句话放到SQLBrowser中运行一下不就知道了
 
唉,好久不写程序,user是关键字都忘记了,谢谢各位,回复都有分,不多请见谅!
 
顶部