客户端 cds 通过sql 查询返回 data 并显示 在 dbgrideh 里 我点击列头 实现了排序 更改sql 再次赋值cds.data 报异常 function TBasicDm.GetDataSet(Asql: String): OleVariant;
begin
//Result :='' ;
with adoq1 do
begin
Close ;
SQL.Text :=Asql;
Open ;
Result :=dsp1.Data ;
end;
end;
......
//sql:='select * from tb1';//sql:='select * from tb2'; 从不同表获取记录集 报异常cds1.Data :=basedm.GetDataSet(sql);
begin
//Result :='' ;
with adoq1 do
begin
Close ;
SQL.Text :=Asql;
Open ;
Result :=dsp1.Data ;
end;
end;
......
//sql:='select * from tb1';//sql:='select * from tb2'; 从不同表获取记录集 报异常cds1.Data :=basedm.GetDataSet(sql);
那 cds 这里 为什么 会报错 我想解决这个问题
可以尝试以下的解决方法:
一、只在表格上定义那些tb1和tb2都有的字段;造成结果就是显示的信息不完全。
二、往表tb2添加那些XXX的字段;造成的结果就是数据冗余。
三、修改你的Select语句,给那些XXX的字段赋个值。如:‘Select '' as XXX, ....... From tb2’
四、不要预先定义表格的字段,而是根据你的cds1.Data来使用代码来构造你的表格。比较麻烦
五、等高手。