关于TQuerySQL=' select * from table1'堆栈溢出(stack overflow)的问题(200分)

Y

ykjiang

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用query(TQuery控件)连接数据库, 在我将其属性 Active 设置为True时, 就出现以下
错误提示:'Stack overflow-save your work and restart Delphi'
相关信息:
DS为数据库别名(Alias),内含有数据库表 table1
query1.DatabaseName:='DS'
query1.SQL:='select * from table1'
数据库:paradox 7
table1 的记录数量 < 3600 条
请各位高手帮忙,谢谢!谢谢!谢谢!
 
我没有使用过Paradox 7数据库,不能帮什么忙的!不好意思!关注!
 
请检查, 是不是BDE? 是不是使用了某些数据感知控件? 不关联任何数据感知控件时是否正常?
如果还不正常,连一个别的表试试? 看看是不是要修复表?
 
query1.DatabaseName:='DS';
query1.sql.clear;
query1.sql.add('select * from table1');
query1.open;
应该不会呀
 
同意KKYY的观点
SQL语名没有问题,一定是你在配置中出了意外!
 
当然这句是有问题的, 呵呵,
query1.SQL := 'select * from table1';
改为:
query1.SQL.Text :='select * from table1'
 
是不是你的table1表有很多字段,最好不要用select *,用select 字段名这样的形式
 
就是
query1.SQL:='select * from table1'
这句有问题哦,:)
query1.sql.add('select * from table1');
 
query1.close;
query1.SQL.clear;
query1.SQL.add('select * from table1');
query1.open;
 
没有道理
直接
with Query1 do begin
Close; sql.clear;
sql.add('select count(*) from "c:/1.db"'); //当然了,把c:/1.db换为你的db表
try open except end;
end;
如果这样有问题,那就直接用Database Desktop 打开那张表,看看能否打开
如果可以,那可能是Delphi出问题了
 
谢谢各位指点,我的问题已经基本解决,初步判断是没有定义数据库表的"Key".[:)]
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
846
SUNSTONE的Delphi笔记
S
I
回复
0
查看
1K
import
I
I
回复
0
查看
769
import
I
顶部