在delphi怎么调用access数据库的查询?

解决方案 »

  1.   

    用adoconnection 设置好connectionstring后
    1。
    在用adocommand
    设置里面的commandstring ,是一句sql语句,然后就adocommand.execute
      adocmd := DataPool.ADOCmd;//设置好一个adocommand
      adods := TADODataSet.Create(adocmd);
      adocmd.Prepared := true;
      with adocmd do//设置好sql语句
      begin
        commandtext := 'Select * From TBL_SCJD ' +
                       'Where '+
                       'SCJD_CJ = :ACJ ';
        with Parameters do
        begin
          ParamByName('ACJ').Value := ACJ;
        end;
        adods.Recordset := Execute;
      end;
      if adods.RecordCount > 0 then//将查询到的数据放到你要的地方
      begin
        scjd_list := TSCJDList.Create;
        while (not adods.Eof) do
        begin
          scjd := TSCJD.Create;
          scjd.ID := adods.fieldbyname('ID').AsInteger ;
          scjd.GG := trim(adods.fieldbyname('SCJD_GG').AsString) ;
          scjd.JHS:= adods.fieldbyname('SCJD_JHS').AsFloat ;
          scjd.PP := trim(adods.fieldbyname('SCJD_PP').AsString) ;
          scjd.CL := adods.fieldbyname('SCJD_CL').AsFloat ;
          scjd.RQ := adods.fieldbyname('SCJD_RQ').AsString ;
          scjd.CJ := trim(adods.fieldbyname('SCJD_CJ').AsString);
          scjd.TDR:= trim(adods.fieldbyname('SCJD_TDR').AsString);
          scjd.BZ := trim(adods.fieldbyname('SCJD_BZ').AsString);
          scjd.WKCC := trim(adods.fieldbyname('SCJD_WKCC').AsString);
          scjd.HPXH := trim(adods.fieldbyname('SCJD_HPXH').AsString);
          scjd_list.Add(scjd);
          adods.Next;
        end;
      end;
      adods.Free;
      result := scjd_list;不好意思,我表达能里不是很清楚,不知道你有没有看懂??如果不明白,下次再回答你
      

  2.   

    补充一下:connectionstring 的设置
    1.use connectionstring --->build
    2.提供者--》microsoft ole db provider for odbc drivers
    3.使用连接字符串----》编译
    3.机器数据源---》选那个有access的--》确定
    4.选择你自己的那个数据库就好了吧
    大概就是这样了,我记 不太清楚,自己琢磨琢磨吧
      

  3.   

    不好意思,我是想问在delphi怎么调用access的查询对象
    就是你打开access后,可以建立的一个查询表
    我的意思是说,在delphi怎么调用在已经在access作好的查询表
    多谢啦
      

  4.   

    和变通的表一样ADODataSet1.Close;
    ADODataSet1.CommandText:='SELECT * FROM 查询1';
    ADODataSet1.Open;
      

  5.   

    用一个ADOQUERY,一个如DBGRID,设置ADOQUERY的ConnectionString为
    DBQ=c:\xx.mdb;Driver={Microsoft Access Driver (*.mdb)};
    再调用ADOQuery的Open()
      

  6.   

    to TOMWLD(笑天) & Phray(程序员) 
    ?????????
    不明白,是否能作详细的解析
      

  7.   

    查询也是一个表 不过他是一个预先处理的查询表 速度要快的多
    所以对查询操作 就对于对表直接操作
    select * from 查询 //这条sql对你定义的查询表操作 你把‘查询’改为你的表再执行好了