sql语句?
我写了如下语句:
...
Query1.sql.add('select * from pact');
query1.sql.add('where ecode:=select ecode');
query1.sql.add('from e_basic');
...
我的意思是想从pact表中找出ecode与e_basic表中ecode相同的内容,可是编译时报错:...query1:field'=select' is of an unknown type...
是我语法错了吗?请指教。
问题点数:30、回复次数:13Top
1 楼wanwangzhiwang(万王之王)回复于 2001-04-23 22:36:00 得分 3
在等于号之后加‘(’结尾也加‘)’就行!
Query1.sql.add('select * from pact');
query1.sql.add('where ecode=(select ecode');
query1.sql.add('from e_basic)');
Top
2 楼wanwangzhiwang(万王之王)回复于 2001-04-23 22:40:00 得分 5
其实你应该这样写:
Query1.sql.add('select p.* from pact p,e_basic e');
query1.sql.add('where e.ecode=p.ecode');
Top
3 楼wwwunix(木易)回复于 2001-04-23 22:41:00 得分 4
改成
Query1.sql.add('select * from pact,e_basic');
query1.sql.add('where pack.ecode=e_basic.ecode');
就行了。Top
4 楼WuHeHai(风之影)回复于 2001-04-23 22:45:00 得分 4
Query1.sql.add('select pact.* from pact,e_basic where pact.ecode = e_basic.ecode ');
Top
5 楼XGZ(**成都双流**)回复于 2001-04-23 22:50:00 得分 4
query1.sql.add('select A.* from pact A,e_basic B where A.ecode = B.ecode');
Top
6 楼iseeks(iseeks)回复于 2001-04-23 23:00:00 得分 0
又有问题了,我通过dbgrid1显示e_basic中的字段内容,dbgrid2显示pact中的字段内容,我想做到当我点击dbgrid1中某一行时,dbgrid2中就出现与之相关的内容(通过ecode相同来联系两者之间的对应关系)。我照你们前面的语句修改了我的程序,不报错了,可是dbgrid2中的内容是不随着dbgrid1中行的改变而改变的,你们能帮我想想办法吗?Top
7 楼wwwunix(木易)回复于 2001-04-23 23:06:00 得分 1
用主从结构。Top
8 楼iseeks(iseeks)回复于 2001-04-23 23:11:00 得分 0
怎么建立主从结构呢?是不是要在table控件中做呢,但是我的table控件未设定tablename,想在程序运行中动态设定的,这样的话是否可以用主从结构呢?Top
9 楼xhjdm(缥缈)回复于 2001-04-23 23:15:00 得分 4
是的,你的语法有问题。:=是负值符号,应用 = 号。再有直接等于不行,可以用Query1.sql.add('select * from pact where pact.ecode in (select e_basic.ecode from e_basic)');
Top
10 楼wwwunix(木易)回复于 2001-04-23 23:17:00 得分 5
在table控件中设定mastersource和masterfields.Top
11 楼tangrh(阿唐)回复于 2001-04-24 08:51:00 得分 0
to iseeks:
这么多人指点你怎么不给分呢Top
12 楼flyonet(人生如梦【★】梦如人生)回复于 2001-04-24 08:53:00 得分 0
又一个骗子!唉!Top
13 楼iseeks(iseeks)回复于 2001-04-24 17:48:00 得分 0
我当然会给分的,只是我今天一早就出去了,现在刚回来就到这里来了,凡是给过我帮助的网友,我都很感谢,也一定会给分的,请不了解情况的人自重。Top




