TQuery.Record 条中的异常记录数
unusual record count in TQuery.Record count
我有一个 Delphi
应用程序通过 BDE + ODBC
连接到 MS-SqlServer-2008R2
。使用 Delphi 7
开发。
使用 TDatabase, TTable, TQuery
组件访问数据。
TDatabase
在BDE中指向别名,其他组件使用属性TDatabase.Databasename
。
主要任务运行saction table 有超过 300 000 条记录。
在主应用程序中当我查询table时,TQuery
给出的记录数为250万,但我的table只有30万条记录。查询打开应用程序后刚刚崩溃。这里有什么问题?
如果我调试代码,它会在 TQuery.Open
处给出 "Memory Error"
。但是当 运行 应用程序运行时它没有给出任何错误,只是应用程序崩溃了。
我在打开查询之前在任务管理器中检查了内存使用情况只是 20 MB
,但是在打开查询之后应用程序使用了超过 700 MB memory
。
在 SQL server management studio 中复制了相同的查询和 运行 并获得了 45000 条记录。
再次创建了一个小应用程序,其中包含一个表单和一个 TQuery
、 TDatabase
和 运行 查询,它给出了正确的计数 45000。
为什么它在主应用程序中给出异常的记录数?
检查数据库组件 属性 'Params'。如果任何参数设置为 RowSet Size = -1。如果它在那里然后删除它。这就是问题的原因。
我有一个 Delphi
应用程序通过 BDE + ODBC
连接到 MS-SqlServer-2008R2
。使用 Delphi 7
开发。
使用 TDatabase, TTable, TQuery
组件访问数据。
TDatabase
在BDE中指向别名,其他组件使用属性TDatabase.Databasename
。
主要任务运行saction table 有超过 300 000 条记录。
在主应用程序中当我查询table时,TQuery
给出的记录数为250万,但我的table只有30万条记录。查询打开应用程序后刚刚崩溃。这里有什么问题?
如果我调试代码,它会在 TQuery.Open
处给出 "Memory Error"
。但是当 运行 应用程序运行时它没有给出任何错误,只是应用程序崩溃了。
我在打开查询之前在任务管理器中检查了内存使用情况只是 20 MB
,但是在打开查询之后应用程序使用了超过 700 MB memory
。
在 SQL server management studio 中复制了相同的查询和 运行 并获得了 45000 条记录。
再次创建了一个小应用程序,其中包含一个表单和一个 TQuery
、 TDatabase
和 运行 查询,它给出了正确的计数 45000。
为什么它在主应用程序中给出异常的记录数?
检查数据库组件 属性 'Params'。如果任何参数设置为 RowSet Size = -1。如果它在那里然后删除它。这就是问题的原因。