程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi中使用動態SQL的幾個問題

Delphi中使用動態SQL的幾個問題

編輯:Delphi
Delphi支持參數化SQL語句,不過俺很少用Paramters/Params屬性,一般都是自己構造SQL,
  用SQL.Text:='Select * from ..Where ID='''+edit1.text+'''';
  不過這種方法要小心SQL注入攻擊哦。
  今天改用ADOQuery控件的Paramters屬性,本已為簡單的很,一用發現了不少問題。由於我只使用一個ADOQuery控件,而其中的SQL語句和語句中的參數經常要變,所以剛開始在程序中用了如下代碼:
  ..........
  
ADOQ.Parameters.Clear;
  ADOQ.Parameters.CreateParameter(...); //創建參數1
  ADOQ.Parameters.CreateParameter(...); //創建參數2
  ADOQ.SQL.Clear;
  ADOQ.SQL.Assign(memo1.text);

  ............

  可一執行,就有時正常,有時報錯,說什麼不正確的參數設置(用的Access)。
  經過兩天的折騰,發現必須使用下面的代碼(真是奇怪):
  ..........
  ADOQ.Parameters.Clear;
  Parami:=ADOQ.Parameters.ADDParameter; //創建參數1
  Parami.Name:=...;  Parami.Value:=... 
  Parami:=ADOQ.Parameters.ADDParameter; //創建參數2
  Parami.Name:=...;  Parami.Value:=... 
          //ADOQ.SQL.Clear;  // 該句不能使用,
  ADOQ.SQL.Assign(memo1.text);
  ............

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