我经常使用ADOdataset,一般只需create就可使用,不用保存到文件中,但这样如何传递数据:SQL语句怎样从中取得数据,因为SQL(如 select * from ..)一般需要文件名,没有文件名而在内存中的dataset,怎样SQL?

解决方案 »

  1.   

    loxer (loxer)兄是不是连Delphi的在线帮助都没仔细看过啊。TADODataSet的VCL在线参考里就有相关的说明:Use the TADODataSet component's CommandText property to retrieve the dataset, specifying either a table name or an SQL statement (SELECT only). TADODataSet is not capable of issuing Data Manipulation Language (DML) SQL statements that do not return result sets (like DELETE, INSERT, and UPDATE). For this use a component like TADOCommand or TADOQuery.简单地说,如果只用select的话,直接用ADODataSet的CommandText属性就可以了。给你个简单的例子(也是在线帮助上的)。with ADODataSet1 do begin  CommandType := cmdText;
      CommandText := 'SELECT * FROM CustomerTable';
      Open;end;如果需要用其它的SQL语句,需要用ADOCommand或ADOQuery。
      

  2.   

    with ADODataSet1 do begin  CommandType := cmdText;
      CommandText := 'SELECT * FROM CustomerTable';
      Open;end;
      

  3.   

    楼主把“控件名”说成了“文件名”。其实,在VCL中,控件名并不是必须的,TADODateset pADO:=TADODateset.Create(self);中pADO可直接操作,无须关心其Name属性
      

  4.   

    单地说,如果只用select的话,直接用ADODataSet的CommandText属性就可以了。给你个简单的例子(也是在线帮助上的)。with ADODataSet1 do begin  CommandType := cmdText;
      CommandText := 'SELECT * FROM CustomerTable';
      Open;end;如果需要用其它的SQL语句,需要用ADOCommand或ADOQuery
      

  5.   

    楼上老兄,
    CommandText := 'SELECT * FROM CustomerTable';语句中的 CustomerTable 为文件名吧,可我的ADOdataset 现在还没有文件名呢。
    这样说吧,有ADODataset1,ADOQuery1,其中ADODataset1只要create以后就可以使用了,可以不用保存到文件中(没有文件名),我现在如何用ADOquery1取得ADOdataset1 中的数据?
      

  6.   

    如果AdoDataset1已经通过select * from 表名 打开了记录集并且存在AdoQuery1,可以用AdoQuery1.Clone(AdoDataset1);那么AdoQuery1就得到AdoDataset1里的记录集
      

  7.   

    我要选择里面的数据呢?比如select * where aa>500  from (ADODATASET1) 该如何呢?
    可以这样吗:先过滤filter,再克隆?行么?
      

  8.   

    不知所为
    好好的CommandText就能OK
    可能是你的想法不正确吧没有Table Name又怎么能处理呢?http://lysoft.7u7.net
      

  9.   

    看看这个吧  studataset:=tadodataset.Create(application);
      studataset.ConnectionString:=' Provider=SQLOLEDB.1;'+'Persist Security Info=False;User ID='+GetRegInfo(3)+';Password='+GetRegInfo(4)+';'+
                      'Initial Catalog='+GetRegInfo(2)+';Data Source='+GetRegInfo(1);
      studataset.CommandText:='select * from StuTuiInfoView where 学号='+trim(suiEdit1.Text);
      studataset.Open;