我把query1查询得到数据集放到一张新表中,用DBGrid可以显示出新表有数据,但就是select不出来? 假设Table1的表名为TT,用了Table1.Assign(Query1)后,DBGrid中可以看到Table1的数据就是Query1中的数据,但我用Query2.SQL.Add('Select * from TT');,却什么也得不到。这是为什么啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 open了吗?query2.open;//或query2.active:=true; 1 query2.close2 query2.sql.clear3 query2.sql.add('Select * from TT')4 query2.open 是按以上步骤做的阿,但是当用Query2.SQL.Add('Select * from TT')时,得到一个字段date,但date中什么数据也没有,不知道这是哪里来的字段,数据集里根本没有这个字段;当用Query2.SQL.Add('Select aa from TT')时,却出现错误说aa为非法字段,但aa明明是我数据集中的字段啊。我的数据库是Oracle,数据集里含有计算字段,这不影响吧? sleep(500);//延时1 query2.close2 query2.sql.clear3 query2.sql.add('Select * from TT')4 query2.open query2.sql.clearquery2.sql.add('select * from TT');query1.ExecSQL;query1.active:=true; 计算字段也没事呀query2.sql.clearquery2.sql.add('select * from TT');query2.open;应该没事 我用的是ODAC中的OraQuery和OraTable做的,OraQuery2.sql.add('select * from TT');就什么也得不到。急死了! 你是不是在DBGRID中设了一个字段双击DBGRID看看是不是设了????? 有可能TDataSource指向Table,所以query查到的记录没在DBgird看到..看一下Tdatasource的DataSet属性.. 可能是双击dbgrid后多增加了一个字段。 Query2指定链接的数据库了吗?另外要是实在毛病太多, 重新个程序, 只放个TQuery, TDatasource, TDBGrid上去试验. 高手们再帮我找找错误,谢谢我是这样做的://先用Oraquery1得到一个数据集:Oraquery1.Close;OraQuery1.SQL.Clear;OraQuery1.SQL.Add('select aa,bb from 表A ');OraQuery1.Prepare;OraQuery1.Open;//放一个OraTable表组件在Form上,表名设为TT,执行以下操作:OraTable1.Assign(OraQuery1);OraTable1.Open;While not OraTable1.Eof do//重新给aa字段赋值,ff为自定义的一个函数 begin OraTable1.Edit; OraTable1.FieldByName('aa').Value:=ff(OraTable1.FieldValues['bb']); OraTable1.Next; end;//到这一步已经能在DBGrid中看到TT表的字段为aa,bb了,而且aa字段的值也是重新计算后的值//以下想用OraQuery2将TT表的内容查询出来,但是什么也查不到OraTable1.Active:=true;Oraquery2.Close;OraQuery2.SQL.Clear;OraQuery2.SQL.Add('select * from TT ');OraQuery2.Prepare;OraQuery2.Open;尤其是OraQuery2.SQL.Add('select * from TT ');这一句,如果我换成OraQuery2.SQL.Add('select aa,bb from TT ');时,居然说aa,bb是不合法的,但aa,bb明明存在的啊!怎么也想不明白啊。声明一下:我用的是ODAC组件中的OraQuery和OraTable,不是BDE中的Query和Table,这有影响么? 报告错误时说:TT表不存在,这是为什么啊?在BDE中用同样方法就可以实现的,可是用ODAC就实现不了 DES加密的结果是否可能包括空(0x00) ? fastreport 如何分栏 怎样根据需要加密的字符串和加密后的字符串得到加密算法? Delphi DIABLO 数据结构与OOP Rewrite函数问题,请帮忙! InstallShield Express for delphi6 打包的程序出问题,大侠救命! 查询!!关于时间字段(取最大值)与当前时间比较!(Select Max(DTPay) from labor where Max(DTPay)>=''''!!) 关于bde中的sql语句中的count函数 数据库怪现象? 请问怎样调用“文件属性”对话框 为什么键盘事件不响应?
query2.open;//或query2.active:=true;
2 query2.sql.clear
3 query2.sql.add('Select * from TT')
4 query2.open
Query2.SQL.Add('Select aa from TT')时,却出现错误说aa为非法字段,但aa明明是我数据集中的字段啊。
我的数据库是Oracle,数据集里含有计算字段,这不影响吧?
1 query2.close
2 query2.sql.clear
3 query2.sql.add('Select * from TT')
4 query2.open
query2.sql.add('select * from TT');
query1.ExecSQL;
query1.active:=true;
query2.sql.clear
query2.sql.add('select * from TT');
query2.open;
应该没事
双击DBGRID看看是不是设了?????
看一下Tdatasource的DataSet属性..
另外要是实在毛病太多, 重新个程序, 只放个TQuery, TDatasource, TDBGrid上去试验.
我是这样做的:
//先用Oraquery1得到一个数据集:
Oraquery1.Close;
OraQuery1.SQL.Clear;
OraQuery1.SQL.Add('select aa,bb from 表A ');
OraQuery1.Prepare;
OraQuery1.Open;
//放一个OraTable表组件在Form上,表名设为TT,执行以下操作:
OraTable1.Assign(OraQuery1);
OraTable1.Open;
While not OraTable1.Eof do//重新给aa字段赋值,ff为自定义的一个函数
begin
OraTable1.Edit;
OraTable1.FieldByName('aa').Value:=ff(OraTable1.FieldValues['bb']);
OraTable1.Next;
end;
//到这一步已经能在DBGrid中看到TT表的字段为aa,bb了,而且aa字段的值也是重新计算后的值
//以下想用OraQuery2将TT表的内容查询出来,但是什么也查不到
OraTable1.Active:=true;
Oraquery2.Close;
OraQuery2.SQL.Clear;
OraQuery2.SQL.Add('select * from TT ');
OraQuery2.Prepare;
OraQuery2.Open;
尤其是OraQuery2.SQL.Add('select * from TT ');这一句,如果我换成
OraQuery2.SQL.Add('select aa,bb from TT ');时,居然说aa,bb是不合法的,但aa,bb明明存在的啊!
怎么也想不明白啊。声明一下:我用的是ODAC组件中的OraQuery和OraTable,不是BDE中的Query和Table,这有影响么?