標籤:參數說明 資料 sof 應用 資料庫 dll proc call href
(摘自)http://jxlearnew.blog.163.com/blog/static/549786592007102451431413/
這裡介紹一種用Delphi來實現動態註冊的方法,希望對各位有所協助.
這裡我們直接使用ODBCCP32.DLL中提供的SQLConfigDataSource函數來實現,該函數在在Delphi中可聲明如下:
//配置ODBC資料來源,成功則返回True
function SQLConfigDataSource(
hwndParent: Integer;
fRequest: LongInt;
lpszDriverString: string;
lpszAttributes: string
): LongBool; stdcall; external ‘‘‘‘ODBCCP32.DLL‘‘‘‘;
參數說明:
1、hwndParent: 父視窗Handle,當指定為0時不會出現對話方塊,否則會彈出標準的ODBC配置對話方塊
2、fRequest: 命令請求,用來指明你要完成的功能,其值可為:
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;
3、lpszDriverString: 驅動程式名稱,就是在ODBC設定中顯示的驅動程式名稱,如SQL Server以及 Microsoft Access Driver (*.mdb)
4、lpszAttributes: 此DSN的一些屬性,可有多項,各項之間用分號(;)分隔
首先在Delphi中對以上函數進行聲明之後,接下來的步驟如下:
1、聲明常量:
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;
2、在Form中放入一個Button,在其事件中寫
procedure TForm1.Button1Click(Sender: TObject);
begin
SQLConfigDataSource(0,
ODBC_ADD_SYS_DSN,//~換成Handle就是手工配置
‘SQL Server‘, //資料庫類型
‘DSN=house‘#0 + //資料來源名稱
‘Server=(local)‘#0 + //SQL Server伺服器名
‘Database=房屋銷售資料庫‘#0 + //資料庫名稱
‘Description=動態配置ODBC‘#0 //描述
);
end;
單擊Button1後,資料來源house的資訊就已經成功寫入到註冊表中
以上方法已經在Delphi 7.0下測試通過,不過在應用本方法前首先確保你的機器上已經正確安裝了Microsoft SQL Server2000資料庫系統,並且 Database = 房屋銷售資料庫 是存在的,否則可能會產生未知的錯誤。
Delphi動態配置ODBC資料來源--SQL Server版本