帮忙看一下sql.add('update w set BZM=:BZM,ZH=:ZH,YFLH=:YFLH,ZWM=:ZWM '+'where BZM='''+edit2.text+'''');
这是什么意思啊?更新数据语法是怎样的?BZM是我Access里面的第一个字段,ZH等都可以更新,
BZM确不能更新,是为什么啊?代码如下:
if radiobutton6.Checked then
begin
try
with DataModule2.ADOQuery1 do
begin
sql.Clear ;
sql.add('update w set BZM=:BZM,ZH=:ZH,YFLH=:YFLH,ZWM=:ZWM '
+'where BZM='''+edit2.text+'''');
parameters.ParamByName('BZM').Value :=edit2.Text ;
parameters.ParamByName('ZH').Value :=edit3.Text ;
parameters.ParamByName('YFLH').Value :=edit4.Text ;
parameters.ParamByName('ZWM').Value :=edit5.Text ;
execsql;
end;
except
messagedlg('修改<'+edit2.Text +'>失败',mterror,[mbok],0);
exit;
end;
问题点数:10、回复次数:5Top
1 楼Dlwxn(Dlwxn)回复于 2005-03-30 19:46:44 得分 0
把错误信息贴出来。Top
2 楼maming2003(關機.睡覺!)回复于 2005-03-30 19:54:19 得分 10
upTop
3 楼fdx2304()回复于 2005-03-30 19:57:05 得分 0
运行没有错啊,只是不是我想要的结果啊.我在界面左边的ListView结果里面选中一个想修改.数据库是Access,有4个字段.我要在界面右边4个EDIT里面修改选中的结果,可是后3个可以更新,但第一个无法更新,这是为什么啊?Top
4 楼fdx2304()回复于 2005-03-30 20:01:01 得分 0
UPDATE table
SET newvalue
WHERE criteria
table
要改变其数据内容的数据库名称
newvalue
将旧纪录值改变为新值的表达式, .
criteria
一个表达式, SQL将通过该表达式监测哪些纪录值将被改变
这是我查到的语法,可是监测的那个edit2.Text 偏偏没有更新!搞笑啊
Top
5 楼fdx2304()回复于 2005-03-30 20:17:30 得分 0
好了,没事了,去掉WHERE 子句就可以了.Top




