我用dbgrid连接了adotable进行显示数据表内容,然后用adoquery找到要修改的数据进行修改后,如何让dbgrid刷新、显示新的数据,我用dbgrid.refresh无效,用adotable.refresh就报错,用adotable.close、adotable.open也没用,用adotable.avite:=false、adotable.avite:=true也没用,只能推出程序再运行才能显示修改过的数据。谁能告诉我怎么做?
解决方案 »
- 有关控制另外一个程序的问题?
- 一个排列组合的算法问题,答出就给分
- 关于数据显示
- dbgrid1.DragMode=dmAutomatic时,DBGrid1CellClick和DBGrid1MouseDown中写的程序为什么不执行?
- fastreport2.5编译产生错误:Unable to build. License is invalid or has expired
- qreport中用qrshape画的竖线能自动延伸吗?
- 请教一个关于DbLookupComboBox的问题!
- 请问高手,field in orde by must result set 是什么意思,为什么动态身成的字段不能用SQL排序,而有时他就可以,有时不行(和字段名称有
- 想求一个局域网及时通信系统的源代码
- 帮我回答http://www.csdn.net/expert/topic/196/196126.shtm,如果不答,帮我提前一下也行,我已提前了三次,不能提前了!
- 为什么在安装FASTREPORT时老出现找不到单元,
- 谁有DxDBGrid的中文使用说明?
你换一下试试
AdoQuery2.requery就可以刷新了
正常来说,用adotable.refresh应该可以了,但它为什么总报错?
用adotable.close、adotable.open为什么也没用呢?已经重新连接了,本来应该刷新了数据才对呀?
var
sqlstr:string;
begin sqlstr:='select * from student';
adodataset1.Close ;
adodataset1.CommandText :=sqlstr;
adodataset1.Open ;
这样就行了,用adoquery应该差不多
修改完之后再adotable.open
你的dbgrid要显示的是adoquery的内容,所以dbgrid使用的是adoquery。
不过使用adoquery时要 adoquery.close; adoquery.sql.clear; ……; adoquery.open;
adoquery.Edit;
修改...
adoquery.Post;
adoquery.close;
adoquery.Open;
应该能解决你的问题!
var
x:String
begin
x:=ADOTable.Tablename;
ATOTable.Tablename:=''
ADOTable.Tablename:=x;
ADOTAble.Active:=True;
end;
试试看
另外用Requery也是可以的!