我用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]”这样写?
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]”这样写?
改成
'E_TRADEMARK ='+DBG_M_A.SelectedRows.Items[2],当然还要看你这个字段和变量的数据类型
我本来就是这么直接写的:Update GTAW Set DBG_M_A.SelectedField.FieldName=InputStr Where
但是运行到这里的时候提示“SQL error code=-104 Token unknown - line 1, char 37”。
这是怎么回事呢?
'Update GTAW Set '+DBG_M_A.SelectedField.FieldName+'=InputStr ...'