代码::: DataModule4.ADOQuery1.close; DataModule4.ADOQuery1.sql.clear; DataModule4.ADOQuery1.sql.add('declare @a int update house set'); if(edit2.text<>'') then begin DataModule4.ADOQuery1.sql.add('House_Structure=:struct,'); DataModule4.ADOQuery1.Parameters.ParamByNam('struct').value:=edit2.Text; end; if(edit3.text<>'') then begin DataModule4.ADOQuery1.sql.add('Facilitu =:faculity,'); DataModule4.ADOQuery1.Parameters.ParamByName('faculity').value:=edit3.Text; end; if(edit4.text<>'') then begin DataModule4.ADOQuery1.sql.add('House_Measure=:measure,'); DataModule4.ADOQuery1.Parameters.ParamByName('measure').value:=edit4.Text; end ; if(edit6.text<>'') then begin DataModule4.ADOQuery1.sql.add('Res=:,'); DataModule4.ADOQuery1.Parameters.ParamByName('').value:=edit6.Text; end ; DataModule4.ADOQuery1.sql.add('@a=12 where Address=:address'); DataModule4.ADOQuery1.Parameters.ParamByName('address').value:=edit1.Text; DataModule4.ADOQuery1.execsql;
如果这个address 值为英文就可修改表 换成汉字表示的属性值 就不能修改
@a=12放错地方了最终的语句会变成下面这样,不错才怪 declare @a int update house set House_Structure= ... @a=12 where ...或者全部edit没有输入的时候,变成这样,也是错的 declare @a int update house set @a=12 where ...
DataModule4.ADOQuery1.close;
DataModule4.ADOQuery1.sql.clear;
DataModule4.ADOQuery1.sql.add('declare @a int update house set');
if(edit2.text<>'') then
begin
DataModule4.ADOQuery1.sql.add('House_Structure=:struct,'); DataModule4.ADOQuery1.Parameters.ParamByNam('struct').value:=edit2.Text; end;
if(edit3.text<>'') then
begin
DataModule4.ADOQuery1.sql.add('Facilitu =:faculity,');
DataModule4.ADOQuery1.Parameters.ParamByName('faculity').value:=edit3.Text; end;
if(edit4.text<>'') then
begin
DataModule4.ADOQuery1.sql.add('House_Measure=:measure,');
DataModule4.ADOQuery1.Parameters.ParamByName('measure').value:=edit4.Text; end ;
if(edit6.text<>'') then
begin
DataModule4.ADOQuery1.sql.add('Res=:,');
DataModule4.ADOQuery1.Parameters.ParamByName('').value:=edit6.Text; end ;
DataModule4.ADOQuery1.sql.add('@a=12 where Address=:address');
DataModule4.ADOQuery1.Parameters.ParamByName('address').value:=edit1.Text;
DataModule4.ADOQuery1.execsql;
declare @a int update house set House_Structure= ... @a=12 where ...或者全部edit没有输入的时候,变成这样,也是错的
declare @a int update house set @a=12 where ...
那address属性值室英文字母 可以修改 何解?? 该怎么改??
不能用中文的原因是你在SQL中沒有用Unicode雙字節中文。改成:
'where Address=N:address'
試試。