首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

联合查询后修改字段值的有关问题

2012-02-12 
联合查询后修改字段值的问题我用Delphi编程,没有系统学过SQL,我在一次联合查询后想修改查询结果中选中单元

联合查询后修改字段值的问题
我用Delphi编程,没有系统学过SQL,我在一次联合查询后想修改查询结果中选中单元格中的内容,如下:
MainForm.Q_M_A_Update.SQL.Add('Update GTAW Set DBG_M_A.SelectedField.FieldName=InputStr Where E_TYPE =DBG_M_A.SelectedRows.Items[1] and E_TRADEMARK =DBG_M_A.SelectedRows.Items[2] and E_SIZE =DBG_M_A.SelectedRows.Items[3]');
提示“DBG_M_A.SelectedField.FieldName=InputStr ”中有错误,我对SQL语法不熟悉,想问问在这种情况下应该怎么写?
即:1、DBGrid中选中单元格对应的字段名在SQL修改语句中应该怎么表达?
  2、还有Where后面是否可以直接像“E_TRADEMARK =DBG_M_A.SelectedRows.Items[2]”这样写?

[解决办法]
联合查询,不能直接修改,只能用update更新后,重新load数据

“E_TRADEMARK =DBG_M_A.SelectedRows.Items[2]”
改成
'E_TRADEMARK ='+DBG_M_A.SelectedRows.Items[2],当然还要看你这个字段和变量的数据类型
[解决办法]
老大,真服了你了,DBG_M_A.SelectedField.FieldName是个字符值,你把它直接放到sql中能对吗
'Update GTAW Set '+DBG_M_A.SelectedField.FieldName+'=InputStr ...'

热点排行