const
  ODBC_ADD_DSN        = 1;
  ODBC_CONFIG_DSN     = 2;
  ODBC_REMOVE_DSN     = 3;
  ODBC_ADD_SYS_DSN    = 4;
  ODBC_CONFIG_SYS_DSN = 5;
  ODBC_REMOVE_SYS_DSN = 6;function SQLConfigDataSource(hwndParent: Integer;
  fRequest: LongInt; lpszDriverString: string;
  lpszAttributes: string): LongBool; stdcall; external 'ODBCCP32.DLL';procedure TForm1.Button1Click(Sender: TObject; var Key: Word;
  Shift: TShiftState);
const
  BoolStr: array[Boolean] of string = ('f', 't');
begin
  Caption := BoolStr[
    SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,
//                    ~换成Handle就是手工配置
'SQL Server',                       //数据库类型
'DSN=MyDatabase'#0 +                //数据源名称
'Server=(local)'#0 +                //SQL Server服务器名
'Database=DatabaseName'#0 +         //数据库名称
'Description=动态配置ODBC'#0        //描述
    )];
end;

解决方案 »

  1.   

    提示出错:这一行:")];"
    incompatible types: 'Boolean'and 'Integer'请问如何解决TKS
      

  2.   

    这是我测试的例子,没有你所说的错误。unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    function SQLConfigDataSource(hwndParent: Integer;
      fRequest: LongInt; lpszDriverString: string;
      lpszAttributes: string): LongBool; stdcall; external 'ODBCCP32.DLL';procedure TForm1.Button1Click(Sender: TObject);
    const
      ODBC_ADD_DSN        = 1;
      ODBC_CONFIG_DSN     = 2;
      ODBC_REMOVE_DSN     = 3;
      ODBC_ADD_SYS_DSN    = 4;
      ODBC_CONFIG_SYS_DSN = 5;
      ODBC_REMOVE_SYS_DSN = 6;
      BoolStr: array[Boolean] of string = ('f', 't');
    begin
      Caption := BoolStr[
        SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,
    //                    ~换成Handle就是手工配置
    'SQL Server',                       //数据库类型
    'DSN=MyDatabase'#0 +                //数据源名称
    'Server=(local)'#0 +                //SQL Server服务器名
    'Database=DatabaseName'#0 +         //数据库名称
    'Description=动态配置ODBC'#0        //描述
        )];
    end;
    end.
      

  3.   

    TKS马上给分,不过还有点小问题,
    调用此函数就已经建立好连接了吗?
    如果是的话,怎样才能用DBGRID来调用呢?
    再次感谢
      

  4.   

    你需要用DBGrid+DataSource+Query//或Table等。