国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

動態連接數據庫及動態建立ODBC,DSN(ZT)

2019-11-18 18:07:13
字體:
來源:轉載
供稿:網友
動態連接數

在ODBC數據源里配置數據庫,通過這種方式,應用程序的編寫變的簡單。只需要在應用程序里面指定已經配置好的數據源就可以連接,訪問數據庫。但是,這種方式也有一定的局限性,需要手工的在ODBC數據源里面配置。需要教會程序的使用者如何去配置,而且,如果一不小心更改了ODBC數據源的配置(也許是無意的)。就會造成連接數據庫失敗。這時候,程序的使用人員也許會一籌莫展,束手無策。
在form或Data Modules上放置Tdatabase控件,屬性設置如下:
  object dbWork: TDatabase
    DatabaseName = 'work'
    LoginPRompt = False
    sessionName = 'Default'
    TransIsolation = tiDirtyRead
    Left = 32
    Top = 16
  End

1)Paradox數據庫的連接

  dbWork.Connected    := False
  dbWork.DriverName   :='STANDARD';
  dbWork.Params.Values['PATH']  := ‘d:/data’; //填寫數據庫路徑
  dbWork.Connected    := True;

 2)Informix數據庫的連接(BDE連接)

  dbWork.Connected    := False
  dbWork.DriverName  := 'informix';
  dbWork.Params.Values['SERVER NAME'] := sServer ;//數據庫服務器名稱
  dbWork.Params.Values['USER NAME'] := sUse ;//用戶名稱
  dbWork.Params.Values['DATABASE NAME'] := ‘sysmaster;//數據庫名稱
  dbWork.Params.Values['PASSWord'] := sPass ;//用戶密碼
  dbWork.Connected:=True;

3) SQL Server數據庫的連接(與informix一樣)

  dbWork.Connected    := False
  dbWork.DriverName  := 'MSSQL';
  dbWork.Params.Values['SERVER NAME'] := sServer ;//數據庫服務器名稱
  dbWork.Params.Values['USER NAME'] := sUse ;//用戶名稱
   dbWork.Params.Values['DATABASE NAME'] := ‘master;//數據庫名稱
   dbWork.Params.Values['PASSWORD'] := sPass ;//用戶密碼
  dbWork.Connected:=True;

4)Postgrd SQL數據庫的連接(ODBC連接)

  dbWork.Connected    := False
  dbWork.DriverName  := 'PostgreSQL';
 dbWork.Params.Values['ODBC DSN'] := 'PgSQL';/ /數據源名稱
  dbWork.Params.Values['SERVER NAME'] := sServer ;//數據庫服務器名稱
  dbWork.Params.Values['USER NAME'] := sUse ;//用戶名稱
  dbWork.Params.Values['DATABASE NAME'] := ‘master;//數據庫名稱
  dbWork.Params.Values['PASSWORD'] := sPass ;//用戶密碼
  dbWork.Connected:=True;

 PS:ODBC連接時,請保證odbc驅動安裝正確;并且有設置odbc;

附自動設置odbc代碼:

// sDriName 驅動程序名 (PostgreSQL)

// sDsnName 數據源名

function CreateDSN(sDriName,sDsnName:string): boolean;

var

  regTmp: TRegistry;

  sTmp: String;

begin

  Result:= True;

  regTmp:= TRegistry.Create;

  try

    with regTmp do

    begin

      RootKey:= HKEY_LOCAL_MACHINE;

      if openkey('software/ODBC/ODBCINST.INI/'+sDriName,false) then

      begin

        sTmp:= ReadString('driver');

        if sTmp = '' then

        begin

          result:= false;

          exit;

        end;

      end

      else

      begin

        result:= false;

        exit;

      end;
      CloseKey;

      RootKey:= HKEY_CURRENT_USER;

      if openkey('software/ODBC/ODBC.INI/ODBC Data Sources',True) then

      begin

        if not ValueExists(sDsnName) then

          WriteString(sDsnName,sDriName);
      end

      else

      begin

        result:= false;

        exit;

      end;

      CloseKey;

      if openkey('software/ODBC/ODBC.INI/'+sDsnName,True) then

      begin

        if not ValueExists('ServerName') then

          writeString('ServerName','');

        if not ValueExists('DataBase') then

          writeString('DataBase','');

        if not ValueExists('UserName') then

          writeString('UserName','');

        if not ValueExists('Password') then

          writeString('Password','');

        if not ValueExists('Descr

          writeString('Description','DoWhat Create');

        if not ValueExists('driver') then

          writeString('driver',sTmp);

      end

      else

      begin

        result:= false;

        exit;

      end;

    end;

  finally

    regTmp.CloseKey;

  end;

end;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 承德市| 新建县| 洛隆县| 河东区| 出国| 广平县| 中西区| 达日县| 莎车县| 鹤岗市| 开原市| 泗洪县| 平凉市| 普定县| 杭锦后旗| 嘉鱼县| 进贤县| 台山市| 兖州市| 蓬溪县| 娱乐| 迁安市| 德格县| 即墨市| 淮南市| 长白| 建阳市| 岫岩| 双江| 黑河市| 宁城县| 芜湖县| 万年县| 尼木县| 同心县| 如皋市| 吉首市| 搜索| 连平县| 南澳县| 和林格尔县|