showmessage(dbgrid2.Fields[0].AsString);//显示的结果是14
with dm.Query1 do
begin
close;
sql.Clear;
sql.Add('select * from s_basic where id=''');
sql.Add(dbgrid2.Fields[0].AsString+'''');
//parambyname('aa').AsInteger:=dbgrid2.Fields[0].Asinteger;
open;
end;
如果将sql语句改成select * from s_basic where id=14这样的话则正确,没有错误,那么我的sql语句该如何写呀?期盼高手指点!
with dm.Query1 do
begin
close;
sql.Clear;
sql.Add('select * from s_basic where id=''');
sql.Add(dbgrid2.Fields[0].AsString+'''');
//parambyname('aa').AsInteger:=dbgrid2.Fields[0].Asinteger;
open;
end;
如果将sql语句改成select * from s_basic where id=14这样的话则正确,没有错误,那么我的sql语句该如何写呀?期盼高手指点!
sql.Add('select * from s_basic where id=:id1');
//sql.Add(dbgrid2.Fields[0].Asinteger+'''');
parambyname('id1').AsInteger:=dbgrid2.Fields[0].Asinteger;
"id"这个字段是int型!
sqlstr:string;
sqlstr:=
'select * from s_basic where id=' + inttostr(dbgrid2.Fields[0].AsInteger) ;
with dm.Query1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
end;//我习惯于用sqlstr保存sql语句,这样在with语句中会简洁些。
//请试一试。
DBEdit1的text值是否修改不了数据库中对应字段的值呀?
with query1 do
begin
close;
sql.Clear;
sql.Add('select * from s_basic where username="aa"');
open;
edit;
fieldbyname('s_class').AsString:=DBEdit1.Text;
post;
也没有出现错误,权限都具有,但是为什么不能修改数据库中对应字段的值呀?我用edit的text属性的值可以修改!这是为什么呀?