with datamodule1.ADOQuery1 do begin sql.Clear; sql.Add('update ' + datamodule1.returninfo_table.TableName + ' set MaYang = :a1 where FormNo = '+ rt_formno.Text ); Parameters.ParamByName('a1').Value:= strtoint(rt_mayang.Text); execsql; refresh; 错误:can not perform this operation on a closed dataset我想让更改后的表能够重新打开,并显示!
with datamodule1.ADOQuery1 do begin sql.Clear; sql.Add('update ' + datamodule1.returninfo_table.TableName + ' set MaYang = :a1 where FormNo = '+ rt_formno.Text ); Parameters.ParamByName('a1').Value:= strtoint(rt_mayang.Text); execsql;<-update 到这里就执行完了。 refresh;用open打开数据库呀,不过'update'语句不会返回结果集,所以open会出错。换成select语句就行了
还有 tt也是字段名吗,如果不是,就拿到引号外面
sql.Add('update ' + datamodule1.returninfo_table.TableName + ' set MaYang = :tt where FormNo = ' + rt_formno.Text);
parambyname('tt').asfloat:=tt;在sql中不能付值非string的
Var
StrSql : string;StrSql := 'Update %s Set MaYang = tt Where FormNo = %s';
StrSql := Format(Sql,[Trim(datamodule1.returninfo_table.TableName),Trim(rt_formno.Text)]);
Sql.Add(StrSql);其实,如果可能,你应该把报错信息写出来。这样比较清楚。
sql.Add('update ' + datamodule1.returninfo_table.TableName + ' set MaYang = :a1 where FormNo = '+ rt_formno.Text );
//sql.Add('update ' + datamodule1.returninfo_table.TableName + ' set MaYang = tt where FormNo = ' + '''' + rt_formno.Text + '''');
datamodule1.ADOQuery1.Parameters.ParamByName('a1').Value:= rt_mayang.Text;这样还是不行,大家帮帮忙!
sql.Add(' update ' + datamodule1.returninfo_table.TableName + ' set MaYang = tt where FormNo = ''' + rt_formno.Text + ''' ');
with datamodule1.ADOQuery1 do
begin
sql.Clear;
sql.Add('update ' + datamodule1.returninfo_table.TableName + ' set MaYang = :a1 where FormNo = '+ rt_formno.Text );
Parameters.ParamByName('a1').Value:= strtoint(rt_mayang.Text);
execsql;
refresh;
错误:can not perform this operation on a closed dataset我想让更改后的表能够重新打开,并显示!
begin
sql.Clear;
sql.Add('update ' + datamodule1.returninfo_table.TableName + ' set MaYang = :a1 where FormNo = '+ rt_formno.Text );
Parameters.ParamByName('a1').Value:= strtoint(rt_mayang.Text);
execsql;<-update 到这里就执行完了。
refresh;用open打开数据库呀,不过'update'语句不会返回结果集,所以open会出错。换成select语句就行了