全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1070
推到 Plurk!
推到 Facebook!

請教如何用ODBC做動態連結

尚未結案
Larry
一般會員


發表:1
回覆:0
積分:0
註冊:2002-10-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-24 12:07:19 IP:210.67.xxx.xxx 未訂閱
要讀資料庫的資料(*db) 且要同步 不知有沒有先進 會使用的 可否 指導 謝謝
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-25 10:02:08 IP:211.162.xxx.xxx 未訂閱
Hi,Larry,您好! 我理解能力較差,不知道您是否想要利用code來動態的建立ODBC的資料源,如果是,請您看看下面的:

......
uses
   Registry;
......
procedure TForm1.Button1Click(Sender: TObject);
var
        ls_dsn,ls_database,ls_desc,ls_login_id,ls_server_ip:string;
        lbl_user_dsn:boolean; // true-->user_dsn,false-->system dsn
        registerTemp : TRegistry;
begin
        //判斷用戶輸入的資訊是否正確
        ls_dsn:=trim(Edit1.text);            //取得資料源名
        ls_database:=trim(Edit2.text);  //取得資料庫名
        ls_desc:=trim(Edit3.text);          //取得描述名
        ls_login_id:=trim(Edit4.text);  //取得用戶名
        //取得資料庫所在的IP地址
        ls_server_ip:=Edit5.text;            //判斷資料源名是否填寫
        if ls_dsn='' then
                begin
                showmessage('請輸入資料源名');
                Edit1.SetFocus ;
                exit;
                end;            registerTemp := TRegistry.Create; //建立一個Registry實例
        with registerTemp do
                begin
                if RadioButton1.Checked then
                        RootKey:=HKEY_CURRENT_USER //設置根鍵值爲HKEY_CURRENT_USER
                else
                        RootKey:=HKEY_LOCAL_MACHINE; //設置根鍵值爲HKEY_LOCAL_MACHINE            //找到Software\ODBC\ODBC.INI\ODBC Data Sources
        if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then
                begin //註冊一個DSN名稱
                WriteString( ls_dsn, 'SQL Server' );
                end
        else
                begin//創建鍵值失敗
                Showmessage('增加ODBC資料源失敗' #13 formatdatetime('yyyy-mm-dd hh:mm:ss',now));
                exit;
                end;
        CloseKey;            //找到或創建Software\ODBC\ODBC.INI\MyAccess,寫入DSN配置資訊
        if OpenKey('Software\ODBC\ODBC.INI\' ls_dsn,True) then
                begin
                        WriteString( 'Database',ls_database);//資料庫
                        WriteString( 'Description',ls_desc);//資料源描述
                        WriteString( 'Driver', 'E:\Windows\SYSTEM\sqlsrv32.dll' );//驅動程式DLL文件
                        Writestring( 'LastUser',ls_login_id);//
                        WriteString( 'Server', ls_server_ip);//用戶名稱
                end
        else//創建鍵值失敗
                begin
                Showmessage('增加ODBC資料源失敗' #13 #10 formatdatetime('yyyy-mm-dd hh:mm:ss',now));
                exit;
                end;
        CloseKey;            showmessage('已成功創建新的ODBC資料源');
        Showmessage('已成功創建新的ODBC資料源' #13 #10 formatdatetime('yyyy-mm-dd hh:mm:ss',now));
        Free;
        end;
end;
我也是一知半解,如有謬誤,請多多指教! < class="code"> =============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获?
系統時間:2024-05-19 1:59:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!