if Infobroker.Info.DataSetByID('YDSJJ').FieldByName('ydzl_sala2').AsString <>'' then
begin
lQuery.CommandText := 'update RSZL_TABLE'
+' set rszl_sala = '' ' + Infobroker.Info.DataSetByID('YDSJJ').FieldByName('ydzl_sala2').AsString +''' '
+' where rszl_ygbh='' ' + Trim(Infobroker.Info.DataSetByID('YGJBXX').FieldByName('rszl_ygbh').AsString) +''' ' ;
jsdialogs.ShowMsg('',''' ' + Trim(Infobroker.Info.DataSetByID('YGJBXX').FieldByName('rszl_ygbh').AsString) +'''');
jsdialogs.ShowMsg('',''' ' + Trim(Infobroker.Info.DataSetByID('YDSJJ').FieldByName('ydzl_sala2').AsString) +'''');
lQuery.Execute;
end;
我用上面这段代码来更新表,但我设置的+' where rszl_ygbh='' ' + Trim(Infobroker.Info.DataSetByID('YGJBXX').FieldByName('rszl_ygbh').AsString) +''' ' ; 取不到值,只要加上这个条件就什么都更新不了,我把这个条件设置为固定的值是可以更新的,而且jsdialogs.ShowMsg('',''' ' + Trim(Infobroker.Info.DataSetByID('YGJBXX').FieldByName('rszl_ygbh').AsString) +'''');
jsdialogs.ShowMsg('',''' ' + Trim(Infobroker.Info.DataSetByID('YDSJJ').FieldByName('ydzl_sala2').AsString) +'''');
这两段代码取出来的值也是正确的 |