1、你的SQL语句有问题,要改为
dataunit.DataModule1.query1.SQL.Add('update 员工管理 set 员工代码=:员工代码,员工姓名=:员工姓名,员工级别=:员工级别,员工密码=:员工密码 where 员工代码=:原员工代码');
这么简单的原因不用我说吧。
2、错
改为
dataunit.DataModule1.query1.prepare;
ShowMessage(dataunit.DataModule1.query1.SQL); //调试用,看看你的SQL
dataunit.DataModule1.query1.ExecSQL;
dataunit.DataModule1.query1.SQL.Add('update 员工管理 set 员工代码=:员工代码,员工姓名=:员工姓名,员工级别=:员工级别,员工密码=:员工密码 where 员工代码=:原员工代码');
这么简单的原因不用我说吧。
2、错
改为
dataunit.DataModule1.query1.prepare;
ShowMessage(dataunit.DataModule1.query1.SQL); //调试用,看看你的SQL
dataunit.DataModule1.query1.ExecSQL;
解决方案 »
- 又到周末了散点分,提前祝周末愉快
- 我的可执行文件怎么不能运行?
- 用Delphi开发MSMQ程序?
- dll库传参的问题
- DBNavigator1的加记录事件
- 请问OfficeXP(WindowsXP)中的特别美的菜单是用什么控件作的,如果有,哪可一下载的到?请告知。
- 急在线等侯!!
- 100分问:用什么东西做来点显示设备
- 谁能帮我这段代码的功能解读一下吗?
- 用adotable1.append/adotable1['tab1']:=123/adotable1.post新增记录,通过dbgrid体现,但发现自动编号id(access数据库)始终为0,原因何在,我该如何处理(本人想提取本记录的id编号.)
- 通信编程问题,请各位高手帮帮忙。
- 寻求这样的DBGRID
showmessage(dataunit.datamodule1.query1.sql[0])
sql是tsrings类型的
在程序中我已给aa变量赋于原员工代码的值,不然的话,其他的字段就都不会改变了。
我已将'员工代码'设为主键
比如 员工代码=:员工代码,.....where 员工代码=:原来的代码
这里要把员工代码(改过的)和原来的代码严格区分开来
查询参数的时候最好用parambyname('员工代码‘),区分的好一点
2。你的语句不享有问题,仔细查查参数是否出错
我写了一个 sql.add('select * from table1 where '+combobox1.text+'=:参数');
注意你的where 后面有没有空格
你回答我的第二个问题的结果和我一样,在第一次运行时总会报'incorrect syntax near '='。
[email protected]
我试过showmessage了,发现了一个问题:如果用sql.add('select * from table1 where '+combobox1.text+'=:参数');的语句,combobox1.text的内容不能替代入程序,如果用一个字段名称直接代替combobox1.text的内容(比如'员工代码')程序会识别此变量,如何解决?