为何delphi在TQuery类执行一次Open后只能找到int型和date型的字段,而找不到varchar型的字段呢?

我用的mysql数据库... 我用的mysql数据库 展开
 我来答
GitionYet
2012-04-10 · TA获得超过123个赞
知道小有建树答主
回答量:289
采纳率:0%
帮助的人:237万
展开全部
Delphi code:

query1.close;
query1.sql.clear;

/query1.sql.add('select * from test');
/query1.sql.text:='select * from test';
/query1.sql.add('select * from test where 字段='字段名'');
/query1.sql.add('select * from test where 字段='''+edit1.text+'''');
/var a:string; a:=trim(edit1.text); query1.sql.add('select * from test where 字段='+a+'');

query1.open;
追问
非常感谢你的回答,经过我的实验,发现用BDE连接Mysql不能获取char以及varchar的数据类型,可能还有一些类型的数据库不能获取,但是我改成ADO来连接后问题就消除了,就能获取所有的字段。
追答
不同的接口Delphi code的区别不大,我发给你的query1改成ado.query1就能正常使用了,反正我没用过BDE,因为微软推助ADO成为主流。
windblast
2012-04-09 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13620
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部
1. 建议检查下Query的SQL语句。

2. 检查Fields列表定义。
追问
我的sql语句是select * from test",TQuery类定义的是一个局部变量,因为我以前用的oracle,所以没有考虑TQuery的Fields的问题,请问大侠,是否这是因为MySql的问题呢?
追答
如果是更换了数据库类型,那么你确实需要检查下字段的字义问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式