動態建立ODBC ACCESS資料來源

2021-08-22 09:09:09 字數 2631 閱讀 3254

unit linkdbaccess;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs,  stdctrls,registry, extctrls;

type

tlinkdb_info = class(tform)

memo1: tmemo;

pnllink: tpanel;

pnlclose: tpanel;

procedure pnllinkclick(sender: tobject);

procedure pnlcloseclick(sender: tobject);

procedure formcreate(sender: tobject);

private

public

end;

varlinkdb_info: tlinkdb_info;

//連線access資料庫

const  databasename='\data\shipdb.mdb';   //資料庫名 (sql中的)

odbcname='shipdb';       //odbc資料來源名

aboutname='提成管理';//資料來源描述

implementation

procedure tlinkdb_info.pnllinkclick(sender: tobject);

varregistertemp : tregistry;

begin

registertemp := tregistry.create; //建立乙個registry例項

with registertemp do

begin

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( odbcname,'driver do microsoft access (*.mdb)');

endelse

begin//建立鍵值失敗

memo1.lines.add('連線odbc資料來源失敗');

exit;

end;

closekey;

//找到或建立software\odbc\odbc.ini\mgmis_xdb,寫入dsn配置資訊

if openkey('software\odbc\odbc.ini\'+odbcname,true) then

begin

writestring( 'dbq', getcurrentdir+databasename);

writestring( 'driverid', '25' );

writestring('driver','c:\winnt\system32\odbcjt32.dll' );//驅動程式dll檔案

writestring( 'fil', 'ms access;');

writestring( 'safetransactions','0' );

writestring( 'uid', '' );

endelse//建立鍵值失敗

begin

memo1.lines.add('連線odbc資料來源失敗');

exit;

end;

closekey;

if openkey('software\odbc\odbc.ini\'+odbcname+'\engines\jet',true) then

begin

writestring( 'implicitcommitsync', '');

writestring( 'maxbuffersize', '2048' );

writestring('pagetimeout','5' );

writestring( 'threads', '3');

writestring( 'usercommitsync','yes' );

endelse//建立鍵值失敗

begin

memo1.lines.add('連線odbc資料來源失敗');

exit;

end;

closekey;

closekey;

memo1.lines.add('連線odbc資料來源成功');

free;

end;

end;

procedure tlinkdb_info.pnlcloseclick(sender: tobject);

begin

close ;

end;

procedure tlinkdb_info.formcreate(sender: tobject);

begin

self.caption:=aboutname;

end;

end.

其它資料庫也一樣,只要按照登錄檔寫進去就可以

動態選單 動態建立選單

動態建立選單 windows應用程式的介面,不僅僅是乙個簡單的窗體,每個窗體中都包含具體實現功 能的控制項,包括能夠顯示基本資訊的label控制項,能夠在其中輸入內容的文字框控制項,能 夠設定選項的選擇按鈕控制項等。net提供了很多使用簡單 功能強大的控制項,幫助程式設 計者快速有效地開發應用軟體。...

動態建立icon

前一陣找了好久也沒有找到有關動態建立icon的文章,後來偶然發現一片寫的,確實c 的。不能新增到vc6的mfc工程裡裡去。哎。還是自食其力,看文件寫個了。這裡是建立乙個帶字串的hicon,想一下某些日曆軟體在系統托盤上的日期顯示。看了這個,相信看客可以舉一反三了。hicon createstrico...

動態建立Table

定義表頭 tablerow trhead new tablerow 定義列 tablecell tchead new tablecell 設定列名 tchead.text 列名1 追加乙個列 trhead.cells.add tchead tchead new tablecell 設定列名 tche...