数据库中不知道为什么 我在访问3个数据库中的数据是 看我写的sql语句:
recordset_temp.sql.clear;
recordset_temp.sql.add('select [mc],[bmbh],[bmmc],[rybh],[ryxm],[rfkh],[rfye],[khrq],[yj],[bz]');
recordset_temp.sql.add('from [khlx],[bmbh],[ryxx]');
recordset_temp.sql.add('where [khlx].[rfzt]=[ryxx].[rfzt] and [ryxx].[bmbh]=[bmbh].[bmbh]');为什么编译完成后就是说bmbh不明确 实在上苦恼啊 我是用了adoquery组件的
是不是还要别的组件 我实在晕 有高人的加我qq:30450070
算是初学者 但是编程原理还是学的比较扎实的
希望可以请教下
recordset_temp.sql.clear;
recordset_temp.sql.add('select [mc],[bmbh],[bmmc],[rybh],[ryxm],[rfkh],[rfye],[khrq],[yj],[bz]');
recordset_temp.sql.add('from [khlx],[bmbh],[ryxx]');
recordset_temp.sql.add('where [khlx].[rfzt]=[ryxx].[rfzt] and [ryxx].[bmbh]=[bmbh].[bmbh]');为什么编译完成后就是说bmbh不明确 实在上苦恼啊 我是用了adoquery组件的
是不是还要别的组件 我实在晕 有高人的加我qq:30450070
算是初学者 但是编程原理还是学的比较扎实的
希望可以请教下
解决方案 »
- untyped file和typed file 和text file的区别
- 各位大虾这种报表怎么做啊!
- 请教个小问题
- 请教BDE的api数据库查询问题
- 关于stringGrid的编写。请高手指点。
- 100分!各位朋友!这是我做的网站www.31qq.com,请各位多多点击,顶者有分!!!!!!!!!!!!!!!!!!!明天就给,绝不食言!!!
- delphi的打印问题???(打印不规则表格)
- 着急,一个文本文件的读入问题
- 有没有办法使文本框(memo或RichEdit)真正不限制字数?
- 讨论一下,程序在删除文件夹时文件夹的程序正在运行,会不会出问题.
- 有事没事,来坐坐
- update 数据库时出现错误Type mismatch in expression,怎么看,也不觉得语句有误!!!
然后用recordset_temp.excsql(可能是这个)来执行
如果还出错
就把你的SQL语句在SQL查询分析器当中执行一下看看
那里面的错误提示比较详细
select [mc],[bmbh.bmbh],[bmmc],[rybh],[ryxm],[rfkh],[rfye],[khrq],[yj],[bz]
[khlx],[bmbh],[ryxx]'
where [khlx].[rfzt]=[ryxx].[rfzt] and [ryxx].[bmbh]=[bmbh].[bmbh]
khlx,bmbh.bmbh,ryxx
where khlx.rfzt=ryxx.rfzt and ryxx.bmbh=bmbh.bmbh
我的bmbh的这个表在别的 模块中还添加正确呢 无助
列前缀 'bmbh' 与查询中所用的表名或别名不匹配。
服务器: 消息 107,级别 16,状态 1,行 1
列前缀 'bmbh' 与查询中所用的表名或别名不匹配。
服务器: 消息 107,级别 16,状态 1,行 1
列前缀 'khlx' 与查询中所用的表名或别名不匹配。
服务器: 消息 107,级别 16,状态 1,行 1
列前缀 'ryxx' 与查询中所用的表名或别名不匹配。
服务器: 消息 107,级别 16,状态 1,行 1
列前缀 'ryxx' 与查询中所用的表名或别名不匹配。
服务器: 消息 107,级别 16,状态 1,行 1
列前缀 'bmbh' 与查询中所用的表名或别名不匹配。
我说了我写的别的模块还用到了呢现在是这样的出错在sql查询分析器里看来就是数据库的问题 要不加下你我把我写的全给你看看
对象名 'bmbh' 无效。
我要看看我的数据库怎么了 下了下班 30450070加我 谢谢
where khlx.rfzt=ryxx.rfzt and ryxx.bmbh=bmbh.bmbh
xianzai mei wenti a
可以把你的sql语句拿到sqlserver的查询工具中进行验证,好了再拷回来吧。
部门管理:bmbh (表名):bmbh(部门编号) bmmc fzr memo
帐户管理:ryxx (表名):ryid bmbh(部门编号) rybh ryxm rfkh rfye rfzt(卡号的壮态) khrq yj bz mm gsls
卡状态: khlx (表名):rfzt(卡号的状态编号 mc(名称)
我现在要得到的就是 帐户的信息和帐户的卡的目前的状态名称 所以才有上面的问题
select mc,bmbh.bmbh,bmmc,rybh,ryxm,rfkh,rfye,khrq,yj,bzfrom khlx,bmbh,ryxx
where khlx.rfzt=ryxx.rfzt and ryxx.bmbh=bmbh.bmbh
from [khlx],[bmbh.bmbh],[ryxx]
where [khlx].[rfzt]=[ryxx].[rfzt] and [ryxx].[bmbh]=[bmbh].[bmbh]这样运行真的出错 服务器: 消息 208,级别 16,状态 1,行 1
对象名 'bmbh.bmbh' 无效。
select mc,bmbh.bmbh,bmmc,rybh,ryxm,rfkh,rfye,khrq,yj,bzfrom khlx,bmbh,ryxx
where khlx.rfzt=ryxx.rfzt and ryxx.bmbh=bmbh.bmbh 这样就ok 我晕啊 现在还只是在查询器里面这样我看来要去改程序里面的写法了 逛晕中
错误至少这个问题是ok了谢谢tiankj() luofuyanglfy()
recordset_temp.sql.add('select a.mc,a.bmbh,a.bmmc,a.rybh,a.ryxm,a.rfkh,a.rfye,a.khrq,a.yj,a.bz');
recordset_temp.sql.add('from khlx a,bmbh b,ryxx c');
recordset_temp.sql.add('where a.rfzt=b.rfzt and b.bmbh=c.bmbh');
recordset_temp.sql.open;
还有调试的时候在分析器里面多看看
不要乱用[]
呵呵 我是刚刚用delphi才 15天吧 这个问题困恼我好多天 搞的我都晕死了
谢谢大家我现在喜欢delphi了
:)))))做程序员的痛苦和快乐就在这里吧 呵呵 加油刚刚毕业 真的是逛晕自己菜啊