我是一个新手,有一个问题,就是在一数据库中添加纪录后(ADOQuery),显示在DBGrid中,但是添加显示以后不是追加到最后,而是清空了以前的纪录,并只加一条纪录,不能显示已经添加过的纪录,我用了刷新命令也不行,我看到有人说ADOQuery不支持刷新,还有人说再open/close可是我用了还是不行,是不是我用的不对,能不能给我个简单的解释啊,谢谢了。
新手求助
新手求助
解决方案 »
- 请问,在fastreport报表中,如何实现选择部分记录进行打印?
- 问各位大佬一个TDCOMConnection的问题
- 向串口发“箭头”
- 计算字段'合计',等于'数量',乘'单价'为什么老是出错,高手帮帮我!
- 如何把自己做的组件加入到自己开发的系统中?
- 怎样判断adoquery和adostoreproc是否执行成功。
- 我想实现dbgrid里行上移和下移
- 为什么2000下面的应用程序在98下面每个Form都变大了很多?
- 请问如何获得操作系统的名称?比如xp,2000,2003等等
- 请问一下Thread的问题,100分奉送
- DELPHI 7 用ADO里的ADOQUERY做主从表,总是报错
- 求教,excel转xml
第二个close-OPEN后就可以刷新啦.
但是execsql之后还要重新读取数据
open
select * from 表名
close
才可以的。数据集保存的是刚刚通过SQL语句来获得的数据
楼上那位说的也对,但是语句写错顺序了
close
select * from tablename
open
adoquery1.SQL.Clear;
adoquery1.SQL.Add(str);
adoquery1.ExecSQL; adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from toone');
adoquery1.open;
就可以了
adoquery1.open;
如用到返回数据集的语法 Select 不包括DELETE、UPDATE、INSERT等语法
相当于将Query的Active属性设为True;
adoquery1.ExecSQL;
对于不返回数据集的语法DELETE、UPDATE、INSERT等语法时使用;
后加一条
adoquery1.Last;