当我用多个TADOQuery或者TADOTable连接同一张表时,我用其中的 一个 TADOQuery或者TADOTable对表进行修改后,其他的几个TADOQuery和TADOTable显示和查询的结果还是表被修改前的内容,加Refresh语句也不起作用,非得重切换窗口或者要重运行程序才能显示是的内容!!请各位前辈指点~指点~~要怎样解决.
谢谢~谢谢~
谢谢~谢谢~
解决方案 »
- 问一下线程专用钩子只监视一个指定的线程 还用不用编写独立的Dll啊?
- 软件使用了很多网上的图片,不知道是否侵权?
- 怎样让CPU窗口能够显示源码?
- 各位大侠帮帮小弟我用OLE控件嵌了一个EXCEL表格想对数据做一下控制!
- 如何区分TreeView不同的父支下相同的子支呢???
- 控件F1Book1的READ怎么用不了?
- 在线等待: 向导窗口该怎么做?就是点击‘下一步’时只是窗口内的部分发生变化???
- help me, intraweb and remote data module up有分
- 高分请教:在Delphi中,如何可以得到一个类变量的大小。
- 急,寻找Rational Robot测试Delphi应用程序的组件
- 想问一个关于类中放RECORD类型的问题.
- 关于流操作 分数就100给不了太多 别见怪
加上 adoquery1.active:=false;
adoquery1.active:=true;
就可以了;
refresh是没有用的
with datamoduleado.ADOQuery1 do
begin
active:=false; // false
sql.Clear;
sql.Add('insert into book(code,name,author,press,outdate,cost,memo0,num)'+
'values(:code,:name,:author,:press,:outdate,:cost,:MMEMO,:num)');
parameters.ParamByName('code').Value :=codeedit.Text ;
parameters.ParamByName('name').Value :=nameedit.Text ;
parameters.ParamByName('author').Value :=authoredit.Text ;
parameters.ParamByName('press').Value :=pressedit.Text ;
parameters.ParamByName('num').Value :=strtoint(trim(Edit1.Text));
try
parameters.ParamByName('outdate').Value :=strtodate(outtimeedit.Text) ;
except
messagedlg('参数<出版时间>设置错误',mtError,[mbok],0);
exit;
end;
try
parameters.ParamByName('cost').Value :=strtofloat(costedit.Text) ;
except
messagedlg('参数<价格>设置错误',mtError,[mbok],0);
exit;
end; try
parameters.ParamByName('MMEMO').Value :=memo1.Text ; except
messagedlg('memo erro',mterror,[mbok],0);
exit;
end; execSQL;
active:=true; //true 此处错误
end;
Tabsheet1show(sender);
except
messagedlg('入库错误',mtError,[mbok],0);
end;
"
似乎有朋友叫我加上试试~~
各位前辈帮我看看~~
解决方法。
1 做定时刷新就行了
2 多用Table 少用 Query 如果遇到 一定要用 Query 的
显示和数据操作用一个Query 如
with Query1 do begin
sql.add( Insert )
ExecSQL;
sql.clear
sql.add(select)
open
end; //with 这样就不存在刷新问题
谢谢~~