raise exception class EoleException with message
'提供不一致或不完全的資訊導致參數物件不適當的被拒'
delphi版本:delphi7 企業版
使用的物件:TAdoQuery
執行動作:使用insert into () select ...from Table1 ;
execSQL;
錯誤訊息:raise exception class EoleException with message '提供不一致或不完全的資訊導致參數物件不適當的被拒'
問題來源:insert語句中使用了 delphi內建的函數 或者 自定義的函數時,輸出參數的類型與資料庫類型不匹配或者是類型轉換出錯
或者是某個參數中出現了不該出現的字符(一般為delphi的保留字或者關鍵字衝突了)造成。
我的問題是出在 有個欄位的值為string類型,它的值中有一個 冒號(:),冒號是delphi的保留字,用來給變量或者參數賦值時使用。所以在字串中有冒號出現時,
編譯平臺就無法辨認,直接報錯。
解決方法:將該insert語句中有用到轉換函數的地方,一個一個單獨測試,找出問題出在哪邊,縮小出錯範圍,再針對出現錯誤的一個地方尋找解決方案。
delphi的TADOQuery 的SQL中屏蔽冒號的方法:
在使用這個query之前,將它的屬性:paramcheck屬性設置為False
使用方法:
Query.ParamCheck : =false;
Query.close;
.................
全站熱搜