有一个表A它存放着很多英文字段,然后有很多表,存着A表字段对应着的汉语意思
比如说A中又一个字段叫RYBH,然后有一个RY_BH表其中就有2个字段,一个是英文字段
与A表对应,另一个就是它的汉语意思字段
现在我想用DBGRID把A表的字段全部显示出来,但显示出来的是汉语而不是英文
该怎么办?
我说的明白吗?哥哥姐姐们帮我!
比如说A中又一个字段叫RYBH,然后有一个RY_BH表其中就有2个字段,一个是英文字段
与A表对应,另一个就是它的汉语意思字段
现在我想用DBGRID把A表的字段全部显示出来,但显示出来的是汉语而不是英文
该怎么办?
我说的明白吗?哥哥姐姐们帮我!
//在FORM中放三个控件:QUERY1、DBGRID1、DataSource1
//将DBGRID、DataSource1、QUERY1相关连
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:integer;s:string;
begin
with query1 do
begin
close;
SQL.Clear;
sql.Add('select * from A');
open;
for i:=0 to Fields.Count-1 do
s:=s+','+#39+Fields.Fields[i].FieldName+#39;
s:='('+copy(s,2,length(s)-1)+')';
close;
sql.Clear;
sql.Add('select * from RY_BH where RY_BH1 in '+s);
open;
s:='';
for i:=0 to RecordCount do
s:=s:+','+fields.Fields[0].AsString+' as '+fields.Fields[1].AsString;
s:=copy(s,2,length(s)-1);
close;
sql.Clear;
sql.Add('select '+s+' from a');
open;
end;end;
如下:
1.select * from RY_BH where rybh in ('bh','dw','lx','ck','jsr','bgy','sh','shr','bz','hz','rck','date')
2.select as from rdk
在第二个open之后出错
显然从第一个就开始出线问题,值与字段变量怎么可能是in的关系,要知道'bh','dw'...
都是字段名,因此导致第二个语句select 为空了
我现在想用union一条sql语句解决,你的这种方法思路很好,但我觉得对数据库压力太大了
谢谢!