with adoquery1 do
begin
sql.Clear;
sql.Add('update renyuan');
sql.Add('set gonghao='+edit_gonghao.Text+',');
sql.Add('name='+edit_name.Text+',');
sql.Add('bumen='+edit_bumen.Text+'');
sql.Add('where id='+edit_id.Text+'');
execsql;
end;
如果我在edit_name里面输入比如 123 321 之类的是可以的。但是如果一输入 adfffddsf就报错。报adffffddsf没有默认值。请问一上是什么原因造成的?
begin
sql.Clear;
sql.Add('update renyuan');
sql.Add('set gonghao='+edit_gonghao.Text+',');
sql.Add('name='+edit_name.Text+',');
sql.Add('bumen='+edit_bumen.Text+'');
sql.Add('where id='+edit_id.Text+'');
execsql;
end;
如果我在edit_name里面输入比如 123 321 之类的是可以的。但是如果一输入 adfffddsf就报错。报adffffddsf没有默认值。请问一上是什么原因造成的?
begin
sql.Clear;
sql.Add('update renyuan');
sql.Add('set gonghao='+edit_gonghao.Text+',');
sql.Add('name='+Quotedstr(edit_name.Text)+',');
sql.Add('bumen='+edit_bumen.Text+'');
sql.Add('where id='+edit_id.Text+'');
execsql;
end;
update renyuan set gonhao=abcde, name=cdefg, ... where ...
这里的abcde, cdefg它当成了字段名,因为没有加单引号。改成:
with adoquery1 do
begin
sql.Clear;
sql.Add('update renyuan');
sql.Add('set gonghao='''+edit_gonghao.Text+''',');
sql.Add('name='''+edit_name.Text+''',');
sql.Add('bumen='''+edit_bumen.Text+'''');
sql.Add('where id='+edit_id.Text+'');
execsql;
end;
begin
close;
sql.text := ' update renyuan set gonghao='+edit_gonghao.text+',name='''+edit_name.text+''','+
' bumen='''+edit_bumen.text+''','+
' where id='+edit_id.text';
execsql;
end;
with adoquery1 do
begin
close;
sql.text := ' update renyuan set gonghao=:gonghao'+
' name=:name'+
' bumen=:bumen'+
' where id=:id';
parameters.parambyname('gonghao').value := edit_gonghao.text;
parameters.parambyname('name').value := edit_name.text;
parameters.parambyname('bumen').value := edit_bumen.text;
parameters.parambyname('id').value := edit_id.text;
execsql;
end;
如果你的字段是字符型,传入的字段值就要加引号,QuotedStr('值')
begin
sql.Clear;
sql.Add(
'update renyuan set gonghao='''+edit_gonghao.text+''',name='''+edit_name.text+''',bumen='''+edit_bumen.text+'''
where id='''+edit_id.text+'''');
execsql;
end;
我就喜欢把sql写成一句。
begin
sql.Clear;
sql.Add(
'update renyuan set gonghao='''+edit_gonghao.text+''',name='''+edit_name.text+''',bumen='''+edit_bumen.text+'''
where id='''+edit_id.text+'''');
execsql;
end;
我就喜欢把sql写成一句。