将原查询出来的字段变更其它的字段(0分)

  • 主题发起人 主题发起人 fiyphsh
  • 开始时间 开始时间
F

fiyphsh

Unregistered / Unconfirmed
GUEST, unregistred user!
adoquery1.SQL.Add('select MC001,MC002,MB004,MC007,MB002,MB003 from INVMC,INVMB where MC001=MB001 AND MC001='''+edit1.text+'''');
我想将MC001字段显示时用"品号"代替显示,MC002用"仓别"代替
语句应该怎么样了??
谢谢
 
select MC001 as '品号',MC002 as '仓别',MB004,MC007,MB002,MB003 from INVMC,INVMB where MC001=MB001 AND MC001='''+edit1.text+''''
 
提示还是有错哦
直接在SQL里面这样是可以的
但为什么在Delphi里面这样写就不行了??
奇怪啦
 
adoquery1.SQL.Add('select MC001 as ''品号'',MC002 as ''仓别'',MB004,MC007,MB002,MB003 from INVMC,INVMB where MC001=MB001 AND MC001='''+edit1.text+'''')
别名用双引号
 
偶尔幽默
问题已解决了

但现在又有一个新问题
我想在以上查询语句中加入另一个表
但此表的字段名也是MC001 (INVMC.MC001 与 CMSMC.MC001)
按SQL的查询语句可以用 MC001.CMSMC就只显示CMSMC表中的MC001字段数据
但现在在DELPHI里面怎么这样用又不行了??
 
你程序里连接的数据源问题吧
是不是你只连接了invmc,而没有连接mcoo1呢
 
没有啊
我是用adoconnection作数据库连接的
INVMC与CMSMC的表都在同一个数据名下
用SQL可以都可以查出来啊(select MC001.INVMC,MC001.CMSMC from INVMC,CMSMC WHERE MC002.INVMC=MC002.CMSMC)
但将这些语句放在Delphi里面就提示
“列前缀“MC002”与查询中所用的表名或别名不匹配”
是怎么一回事了??
奇怪
 
兄弟,写错了吧,应该是 表名称.字段名
select INVMC.MC001,CMSMC.MC001
from INVMC,CMSMC
WHERE INVMC.MC002=CMSMC.MC002
 
adoquery1.SQL.Add('select INVMC.MC001 as "品号",CMSMC.MC001 as "仓别",CMSMC.MC002 AS "仓别名称",INVMB.MB004 as "单位",INVMC.MC007 as "库存数量",INVMB.MB002 as "品名",INVMB.MB003 as "规格" from INVMC,INVMB,CMSMC where INVMC.MC001=INVMB.MB001 AND CMSMC.MC001=INVMC.MC002 AND INVMC.MC001='''+edit1.text+'''');
这条语句在SQL运行没有错(当然最后一条语句改为数据库里面实际值)
为什么在Delphi里面运行却提示有错了????
 
高手请帮忙解决一下
谢谢了
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部