还是关于SQL的问题,(10分)

  • 主题发起人 主题发起人 烂泥
  • 开始时间 开始时间

烂泥

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中用了Tclientdataset,生成临时表使用
name: tmp

简单的SQL语句:
query1.sql.clear;
query1.sql.add('select * from tmp');
query1.open;
报错:没有tmp.db tmp.dbf ....
如何改?
 
check directory of tmp...
 
query1的database名没有指定
 
最好先放个TDataBase 指向tmp的路径,再把Query1的Database设为TDataBase 的Database 属性。
 
用clientdataset生成的表应该是*.cds的吧?Query控件并不支持这种
表格,应该clientdataset是不基于bde的,而query需要bde支持。
 
jsq说的有道理,也确实如此,那该怎么办呢?
 
我在Form create的时候
with tabTmp.FieldDefs do
begin
Add ('name',ftstring,4,False);
..
end;
tabTmp.CreateDataSet ;

在程序中调用Append 增加100条记录。后希望查询

tmp (Tclientdataset),query1直接放在Form上。那我在query1中无法指定
database.也许如同jsq所讲一样。就无法解决吗》
 
可以用clientdataset控件自身的method来实现,findnearest,gotonearest,
locate,lokup都可以。建议使用locate方法:
clientdataset.Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions);
 
应该是某个Query或者Table没有设置DateBaseName属性
 
接受答案了.
 
后退
顶部