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-labview
- 为什么我的多线程,运行时程序界面还是会停顿??
- 我不知道的奇怪问题!!!不知大虾们知道吗??
- 请大虾指点!如何不用生成外部文件来播放stream中的mp3流?
- 关于ExpressQuantumGrid 4的中文支持问题?
- 请教REPORT控件的打印问题?
- delphi控制SQL Server数据恢复的问题!(三层结构〉〉客户端恢复疑问?)
- FastReport如何在程序中為Variables賦值?
- 急!急!急!COMBOBOX问题!(在线等候!)!
- 如何定义一个整型的数组,取得字符串长度、取得字符串左边几个字符串、取得字符串右边几个字符串的函数分别是什么呀?
- 通信编程问题,请各位高手帮帮忙。
- 寻求这样的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的内容(比如'员工代码')程序会识别此变量,如何解决?