要求写一个方法。
在这个方法中,实现数据库的连接,并查询数据库中某个表的数据,并将数据写入一个固定的问题。
本方法要求没有任何GUI界面。

解决方案 »

  1.   

    自己写SQL对数据库操作,可以不用GUI的,只要不用数据感知控件就行。
      

  2.   

    uses
     DB, ADODB;
    procedure tform1.doSQL;
    var
     adoquery:tadoquery;
    begin
      adoquery:=tadoquery.Create(self);
      try
      adoquery.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+数据库名+';Persist Security Info=False'
      adoquery.SQL.Clear;
      adoquery.SQL.Add('select * from 表名');
      adoquery.Active:=true;
      //取到的是查询结果的'字段名'字段的第一条记录,结果转换为字串
      showmessage(adoquery.FieldByName('字段名').AsString);
      finally
        adoquery.Free;
      end;
    end;
      

  3.   

    谢谢。各位。主要目的就是,书写一个DLL,在dll中是不能有GUI的。用DLL连接数据库。
    刚开始学习delphi,希望大家帮忙。谢谢。
      

  4.   

    呵呵,你就只用unit就可以了然后把接口定义好。
    在unit中定义一个adoconnection:Tadoconnection,设置这个connection的属性,打开之后通过接口将这个对象返回给主程序。不过我喜欢把这些数据连接都放在datamodule中,不爱放在dll中,使用起来不方便,一般把一些核心算法放在dll中,或者是一些很重要的程序通用模块
      

  5.   

    procedure TForm3.Button2Click(Sender: TObject);
    var
      i: Integer;
      lstTables: TStringList;
      TMP: TADOQuery;
      j: Integer;
    begin
      tmp:= TADOQuery.Create(nil);
      TMP.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=COSCOSERVER;Data Source=localhost';
      ADOQuery.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=COSCOSERVER;Data Source=localhost';
      lstTables := TStringList.Create;
      ADOConnection.Close;
      ADOConnection.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=COSCOSERVER;Data Source=localhost';
      ADOConnection.Open;
      ADOConnection.GetTableNames(lstTables);
      try
        for i := 0 to lstTables.Count - 1 do
          if (Pos('V',UpperCase(lstTables.Strings[i])) = 1) then
            continue
          else begin
            ADOQuery.SQL.Add('Alter Table ' + lstTables.Strings[i] + ' Add synchronize varchar(200) ' + #13);
    //        ADOQuery.SQL.Add('Alter Table ' + lstTables.Strings[i] + ' Add RowID uniqueidentifier default newid()' + #13);
          end;
        Memo1.Lines.Text := ADOQuery.SQL.Text;
        adoquery.ExecSQL;
      finally
        tmp.Free;
        lstTables.Free;
      end;
    end;
      

  6.   

    uses
     DB, ADODB;
    procedure tform1.doSQL;
    var
     adoquery:tadoquery;
    begin
      adoquery:=tadoquery.Create(self);
      try
      adoquery.ConnectionString:='ProviderProvider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=你的数据库;
    Data Source=127.0.0.1;'
      adoquery.SQL.Clear;
      adoquery.SQL.Add('select * from 表名 where 条件');
      adoquery.Active:=true;
      showmessage(adoquery.FieldByName('字段名').AsString);
      finally
        adoquery.Free;
      end;
    end;