建立修改帳號密碼的dll檔 |
尚未結案
|
may
一般會員 發表:32 回覆:26 積分:11 註冊:2003-02-11 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
可參考此篇
http://delphi.ktop.com.tw/topic.php?topic_id=20690 給妳個方向
一、於dll 中建立TADOConnection /或TADODateSet 以連線字串建立連線
二、dll export 出一個FUNCTION 接收sql 指令
三、以另一個Form 來提供修改資料庫中帳號與密碼的界面 以下是我寫的一個簡單的資料庫控制dll,以直接呼叫ADODB的ole物件方式實現
而非使用Delphi 所包裝的TADO相關的VCL
寫的不是很好,若覺不足或不好用,可直接修改或改成使用TADOConnect
試試看~~
它需要在執行目錄下放一個db.ini檔,內容如下
[ConnectionSetup]
DBType = Access
DataSource=AdvAtt
admin
Password=1234
initialDir =AdvAtt ==============================================
library TADODBLib; uses SysUtils, Classes, Comobj, IniFiles; {$R *.res} var gadoCN:Variant ; gadoRS:Variant ; gSQL:string; DBOpenFlag:Boolean ; ini:TIniFile ; function Initial(iConnString:String):Boolean ;export; //初始資料庫 var iDBType,iDataSource,iUserID,iPassword,iInitialDir:string; iPath:string; //存放資料庫設定檔的所在路徑 begin iPath:=GetCurrentDir(); if Length(iConnString) = 0 then Begin ini:=TIniFile.Create (iPath '\DB.ini'); iDBType:=ini.ReadString('ConnectionSetup','DBType',''); iDataSource:=ini.ReadString('ConnectionSetup','DataSource',''); iUserID:=ini.ReadString('ConnectionSetup','UserID',''); iPassword:=ini.ReadString('ConnectionSetup','Password',''); iInitialDir:=ini.ReadString('ConnectionSetup','InitialDir',''); ini.Free ; if iDBType = 'ODBC' then iConnString:='Provider=MSDASQL.1;' ; if iDBType = 'Access' then iConnString:='Provider=Microsoft.Jet.OLEDB.4.0;'; iConnString := iConnString 'Persist Security Info=False;'; iConnString := iConnString 'Data Source=' iDataSource ';'; iConnString := iConnString 'User ID=' iUserID ';'; iConnString := iConnString 'Password=' iPassword ';'; iConnString := iConnString 'Initial Catalog=' iInitialDir ';'; end; gadoCN:=CreateOleObject('ADODB.Connection'); gadoRS:=CreateOleObject('ADODB.RecordSet'); gadoCN.ConnectionString := iConnString; gadoCN.CursorLocation := 3; gadoCN.ConnectionTimeout := 100; DBOpenFlag:=False ; Result :=True; end; function OpenDB():Boolean ;export; //開啟資料庫 begin if DBOpenFlag=False then begin gadoCN.Open; DBOpenFlag:=True; end; Result:=DBOpenFlag; end; function CloseDB():Boolean ;export; //關閉資料庫 begin if DBOpenFlag=True then begin gadoCN.Close; DBOpenFlag:=False; end; Result:=DBOpenFlag; //CloseDB成立時,傳回的是目前資料庫開啟的狀態 end; function ADOQuery(SQLString:string):Variant;export; //執行查詢指令 begin Result:=gadoCN.Execute(SQLString); end; function ADOExec(SQLString:string):Integer;export; //執行SQL命令 begin Result:=gadoCN.Execute(SQLString); end; exports Initial,ADOExec,ADOQuery,OpenDB,CloseDB; end.=============================================================================== 提醒您,貼錯文章可立即傳訊通知該版版主/站長/副站長協助處理,不要放著不管喔 發表人 - |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |