熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PB編程 >> 正文

在PB中動態修改SQL語句[1]

2013-11-23 17:25:37  來源: PB編程 
    PowerBuilder是圖形界面的Client/Server應用程序開發環境可以很容易開發出功能強大的應用程序在當前應用非常廣泛

  數據庫應用程序通常進行一項確定的工作在編寫和編譯時就可以確定完整的SQL語句但是當需要使用PowerBuilder不支持的嵌入SQL語句或者在編譯時不能確定SQL語句的具體格式和參數時只能在程序運行過程中構造SQL語句需要使用動態SQL語句

  以Format 動態SQL語句為例使用格式如下
  DECLARE Cursor | Procedure
  DYNAMIC CURSOR | PROCEDURE
  FOR DynamicStagingArea ;

  PREPARE DynamicStagingArea FROM SQLStatement
  {USING TransactionObject} ;

  DESCRIBE DynamicStagingArea
  INTO DynamicDescriptionArea ;

  OPEN DYNAMIC Cursor | Procedure
  USING DESCRIPTOR DynamicDescriptionArea} ;

  EXECUTE DYNAMIC Cursor | Procedure
  USING DESCRIPTOR DynamicDescriptionArea ;

  FETCH Cursor | Procedure
  USING DESCRIPTOR DynamicDescriptionArea ;

  CLOSE Cursor | Procedure ;

  在使用動態SQL語句時需准備DynamicStagingArea對象(全局對象SQLSA)和DynamicDescriptionArea對象(全局對象SQLDA)定義游標或過程讀取PREPARE語句中的SQL語句以及語句中說明的參數和類型執行FETCH語句後調用相關的函數逐條讀取並處理檢索結果

  動態SQL語句雖然解能夠在程序運行過程中構造SQL語句但在實際應用中較少使用若SELECT語句的結果序列一定可以通過重新指定DataWindow對象的SELECT語句的方法達到動態修改SQL語句的功能運用時首先用Describe函數讀取DataWindow對象的SELECT語句用Replace等函數修改出符合要求的SELECT語句並且可以增加檢索條件再用SetSQLSelect函數為DataWindow控件指定修改後的SELECT語句

  程序代碼
  string sql_stringsql_new
  long start_pos=
  string old_str //select語句中需要替換的字符串
  string new_str //替換字符串可以是結構相同的表名

[]  []  


From:http://tw.wingwit.com/Article/program/PB/201311/24558.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.