<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      借助組件使用asp連接informix全方案

      [摘要]注意:本文方案適用于asp通過自開發組件連接所有類型的數據庫現在某些企業的數據庫用的是informix,多數開發者對這個數據庫操作的比較少,因為當前該公司已經被IBM吃掉,而IBM主推的是其DB2,...

      注意:本文方案適用于asp通過自開發組件連接所有類型的數據庫

      現在某些企業的數據庫用的是informix,多數開發者對這個數據庫操作的比較少,

      因為當前該公司已經被IBM吃掉,而IBM主推的是其DB2,不多述

      使用olddb組件,通過server.createobject("adodb.connection")建立的連接,連

      接都可以成功,但是速度是在滿的讓人驚慌,尤其數據條數超過2條的表,即使只

      是查詢一條,也幾乎差不出來,整個asp主機的效率直線下降,內存占用增加。對

      待此問題,我使用delphi寫了一個簡單的組件。

      主要代碼如下:
      unit main;
      {$WARN SYMBOL_PLATFORM OFF}

      interface

      uses
        ActiveX, Mtsobj, Mtx, ComObj, aspbde_TLB, StdVcl,DB,dbtables,SysUtils;

      type
        Tbdeasp = class(TMtsAutoObject, Ibdeasp)
        protected
          function open(const sqlstr, aliname: WideString): OleVariant;

      safecall;
          function execute(const sqlstr, connstr: WideString): OleVariant;

      safecall;
          { Protected declarations }
        end;

      implementation

      uses ComServ;

      function Tbdeasp.open(const sqlstr, aliname: WideString): OleVariant;
      var
        tmpre:variant;
      begin
          tmpre:=createoleobject('adodb.recordset');
          try
           tmpre.open(sqlstr,aliname);
          except

          end;
          result:=tmpre;
      end;

      function Tbdeasp.execute(const sqlstr, connstr: WideString): OleVariant;
      var
        tmpre:variant;
      begin
          tmpre:=createoleobject('adodb.connection');
          try
           tmpre.open(connstr);
           tmpre.execute(sqlstr);
           result:=1;
          except
           result:=0;
          end;

      end;


      initialization
        TAutoObjectFactory.Create(ComServer, Tbdeasp, Class_bdeasp,
          ciMultiInstance, tmBoth);
      end.

      本程序中只寫了最簡單的兩個方法 open,execute ,大家可以根據自己的需求添加

      其他方法、屬性等。

      調用方法如下:
      ser var=server.createobject("appname.bdeasp")
      set rs=var.open("sql語句","數據庫連接語句")

      rs使用方法與 adodb.recordset對象完全一樣,經測試,速度明顯加快。!系統

      消耗大量下降,2000萬條的數據表,查詢速度非常迅速。

      歡迎大家實驗!!                  --Sonic_qd 2003-10




      日韩精品一区二区三区高清