我有一个Delphi
连接到MS-SqlServer-2008R2
via的应用程序BDE + ODBC
。使用Delphi 7
.
TDatabase, TTable, TQuery
使用组件访问数据。
is 指向 BDE 中的TDatabase
别名,以及使用属性的其他组件TDatabase.Databasename
。
主事务表有超过 300 000 条记录。
在主应用程序中当我查询表时,TQuery
给出的记录数为 250 万,但我的表只有 30 万条记录。查询后打开应用程序就崩溃了。这里有什么问题?
如果我调试代码,它会给出"Memory Error"
。TQuery.Open
但是在运行应用程序时它没有给出任何错误,只是应用程序崩溃了。
我在打开查询之前在任务管理器中检查了内存使用情况20 MB
,但在打开查询后应用程序使用超过700 MB memory
。
复制相同的查询并在 SQL Server Management Studio 中运行并获得 45000 条记录。
再次使用一个表单和一个TQuery
,创建了一个小应用程序TDatabase
,然后运行查询,它给出了正确的计数 45000。
为什么它在主应用程序中给出不寻常的记录计数?