ADO 数据库应用问题
楼主好!问题是这样的,
我在form1里添加了一个ADOTable1、一个ADOQuery1、一个DataSource1和一个DBGrid。
数据库是Access的mdb数据库,数据库有两个表(账单表、账单明细表)和一个查询(根据两个表连接得来)query1。
设置ADOTable1的table name属性为查询query1.
设置DataSource1的DataSet属性为ADOTable1;
DBGrid的datasource属性设为DataSource1
ADOQuery1的sql语句为在账单明细表里添加一记录。
问题是我通过ADOQuery1往账单明细表里添加记录后运行ADOTable1->ReQuery();,DBGrid并不显示新记录。
用ADOTable1->Active=false;ADOTable1->Active=true;替换ADOTable1->ReQuery();也不行。
但是我另外加了一个TButton1,利用TButton1去运行ADOTable1->ReQuery();DBGrid却可以显示新记录。
后来我又做了一个测试,我通过ADOQuery1往账单明细表里添加记录后,马上点TButton1(时间控制在1-2秒内)刷新记录,结果是DBGrid没有显示新记录。
哪位高手给解释下什么原因?或有什么解决办法?
感激不尽!!!!!!
我在form1里添加了一个ADOTable1、一个ADOQuery1、一个DataSource1和一个DBGrid。
数据库是Access的mdb数据库,数据库有两个表(账单表、账单明细表)和一个查询(根据两个表连接得来)query1。
设置ADOTable1的table name属性为查询query1.
设置DataSource1的DataSet属性为ADOTable1;
DBGrid的datasource属性设为DataSource1
ADOQuery1的sql语句为在账单明细表里添加一记录。
问题是我通过ADOQuery1往账单明细表里添加记录后运行ADOTable1->ReQuery();,DBGrid并不显示新记录。
用ADOTable1->Active=false;ADOTable1->Active=true;替换ADOTable1->ReQuery();也不行。
但是我另外加了一个TButton1,利用TButton1去运行ADOTable1->ReQuery();DBGrid却可以显示新记录。
后来我又做了一个测试,我通过ADOQuery1往账单明细表里添加记录后,马上点TButton1(时间控制在1-2秒内)刷新记录,结果是DBGrid没有显示新记录。
哪位高手给解释下什么原因?或有什么解决办法?
感激不尽!!!!!!
...全文
相关推荐
ODBC、OLE DB和ADO简单介绍
OLE DB处于ODBC层和应用之间,对于ASP页面来说,ADO是OLE DB上的一个“应用”,所以在连接数据库的时候OLE DB速度更快。
深入理解ADO与OLE DB在数据库操作中的应用
本文探讨了如何使用CRecordset类创建数据库访问应用程序,通过CRecordView类展示结果,并扩展至编辑与添加新记录的操作。此外,文章介绍了ActiveX数据对象(ADO)和OLE DB,阐述了ADO对象模型和数据操作,强调了ADO在客户端数据操作和瞬态环境支持方面的优势。
精彩编程与编程技巧-用 DAO 或 ADO 正确访问 Access 2000...
此外,ADO提供了更多的特性,如支持XML数据格式,更适合现代Web应用的需求。### 三、解决常见问题#### 1.
Z ADO Database Adapter-开源
通过ADO db驱动程序,Z ADO Database Adapter能够连接到多种数据库系统,如SQL Server、Oracle、Access等。
Ado访问PARADOX数据库
#### 二、ADO与PARADOX数据库的兼容性问题由于ADO没有直接支持PARADOX数据库的驱动或引擎,因此要通过ADO访问PARADOX数据库就需要采取变通的方法。


数据库及相关技术
