sql关于多表查询(50分)

S

snstsy

Unregistered / Unconfirmed
GUEST, unregistred user!
select pzmaster.rq,pzdetail.khbh,yszgl.khmc,pzdetail.zy,pzmaster.pzh_id
from pzmaster join pzdetail
on pzmaster.pzh_id=pzdetail.pzh_id
join yszgl on pzdetail.khbh=yszgl.khbh
在SQL EXPLORE中可执行,但DELPHI中我不会写
请问这样的动态SQL语句怎样写
 
一样写:
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('select pzmaster.rq,pzdetail.khbh,yszgl.khmc,pzdetail.zy,pzmaster.pzh_id
from pzmaster join pzdetail
on pzmaster.pzh_id=pzdetail.pzh_id
join yszgl on pzdetail.khbh=yszgl.khbh');
Query1.Open
 
可是编译不通过呀!
 
可是编译不通过呀!underminated string
 
不可能编译通不过,只是在运行时,如果SQL有错,才会出错。
 
Query1.Sql.Add('select ');
Query1.Sql.Add('pzmaster.rq,pzdetail.khbh,yszgl.khmc,pzdetail.zy,pzmaster.pzh_id');
Query1.Sql.Add('from pzmaster join pzdetail');
Query1.Sql.Add('on pzmaster.pzh_id=pzdetail.pzh_id');
Query1.Sql.Add('join yszgl on pzdetail.khbh=yszgl.khbh');
 
我先去EAT,大家多多提携。
 
可是明明“underminated string”而且光标指向
“Query1.Sql.Add('select pzmaster.rq,pzdetail.khbh,yszgl.khmc,pzdetail.zy,pzmaster”
 
把上述的语句在环境在直接写在Query1.SQL属性里,然后把Query1.Active设置为True试试。
 
注意空格哦!
 
改一下
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('select
m.rq,d.khbh,y.khmc,d.zy,m.pzh_id
from pzmaster m,pzdetail d,yszgl y where
m.pzh_id=d.pzh_id
and d.khbh=y.khbh');
Query1.Open
可能是BDE不支持
 
Var
strSql: string;
begin
strSql := '执行的';
strSql := strSql + 'SQL语句';
query1.SQL.Clear;
query1.SQL.Add(strSql);
query1.Open;
end;
 
croco的行,下面的没试,对不起了。
还有问题呢,大家再来抢粉!
 
接受答案了.
 

Similar threads

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