程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 修改Delphi使之適應SQLServer2000

修改Delphi使之適應SQLServer2000

編輯:Delphi

把 SQL Server 7.0 換為 SQL Server 2000 後,執行正常的程序都出錯了。仔細一查,原來是 SQL Server 2000
將存儲過程的返回參數改了名(RETURN_VALUE 改成了 @RETURN_VALUE)。讓我們來對 ADODB 作少許改動,使之兼容
7.0 和 2000。

1、使用 File -> Open Project 打開 SourceVCLADODB.pas。
2、定位到 TADOConnection.WillExecute,在 begin 後加入如下代碼
[code]
  // 用來兼容 SQL Server 7.0 和 SQL Server 2000
  if (pCommand.Parameters.Count > 0) and
    ((pCommand.Parameters[0].Name = RETURN_VALUE) or
    (pCommand.Parameters[0].Name = @RETURN_VALUE)) then
  begin
    if pConnection.Properties[DBMS Version].Value < 08.00.0000 then
      pCommand.Parameters[0].Name := RETURN_VALUE
    else pCommand.Parameters[0].Name := @RETURN_VALUE
  end;
[/code]
3、定位到 TADOCommand.FindParam 在 Result = ni 前加入如下代碼
[code]
  // 用來兼容 SQL Server 7.0 和 SQL Server 2000
  if (Count > 0) and ((Value = RETURN_VALUE) or (Value = @RETURN_VALUE)) then
  begin
    Result := Items[0];
    if (Result.Name = @RETURN_VALUE) or (Result.Name = RETURN_VALUE) then Exit;
  end;
[/code]
4、編譯 ADODB.pas
5、將編譯後的 ADODB.dcu 復制到 Lib 目錄下覆蓋原有的 ADODB.dcu。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved