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

建立修改帳號密碼的dll檔

尚未結案
may
一般會員


發表:32
回覆:26
積分:11
註冊:2003-02-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-13 13:37:56 IP:203.160.xxx.xxx 未訂閱
請教各位前輩: 是否有範例提供如何建立一個DLL檔---該DLL可以連接資料庫中的Table ,讓使用者修改他登入的帳號/密碼呢? 如果沒有的話,是否可提供一個方向,在dll中如何連接資料庫,修改資料表中的內容呢? 先謝謝各位前輩了!
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-15 17:22:49 IP:211.74.xxx.xxx 未訂閱
可參考此篇 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.
=============================================================================== 提醒您,貼錯文章可立即傳訊通知該版版主/站長/副站長協助處理,不要放著不管喔 發表人 -
系統時間:2024-05-05 3:32:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!