以下代碼執行時提示"取得SQL語法時出錯",但是如果不用select into賦值給str_sql而是直接使用//部分即可正常執行,sql陳述句是一個標點都不差的,跪求哪位高人指點迷津!
string str_err_sql,str_err_create,str_sql,str_syntax,sql_memo_str
select sql into:str_sql from qhd_wht_sql where submenu_name ='11';
// str_sql = "select device_number 號碼,cust_name 用戶名稱,credit_value/100 信用度 from dwd.dwd_o_serv_day_182 a, qhd_qyx_number4 b where a.acct_month='"+sle_1.text+"' and a.day_id='"+sle_2.text+"' and a.if_valid='1' and a.device_number=b.my_number"
str_syntax=SQLCA.SyntaxFromSQL(str_sql,'style(type=grid)',str_err_sql)
if len(str_err_sql)>0 then
messagebox("錯誤","取得SQL語法時出錯")
return
else
dw_2.create(str_syntax,str_err_create)
if len(str_err_create)>0 then
messagebox("錯誤","創建資料視窗時出錯!")
return
end if
end if
dw_2.settransobject(sqlca)
dw_2.retrieve()
uj5u.com熱心網友回復:
select sql into:str_sql ... 是嵌入式sql,用來取出值放到變數中select device_number 號碼 from ... 是標準sql,標準sql才可以使用SyntaxFromSQL
uj5u.com熱心網友回復:
多謝指教,主要問題是sql里含有引數,如果沒引數是可以執行成功的,可是有什么變通的方法嗎?我要實作的就是用資料庫中保存的sql生成動態資料視窗,給個其他思路也好!
uj5u.com熱心網友回復:
..'"+sle_1.text+"'..被當成字串了吧
你這個表qhd_wht_sql 別簡單的用sql,修改為2列
sqlFrom
sqlWhere
uj5u.com熱心網友回復:
LZ你還想做帶引數的嗎?uj5u.com熱心網友回復:
從資料庫中取出含..'"+xxx.text+"'.. 的字串,找到 xxx (singlelineedit的名字),遍歷視窗,取得名為xxxsinglelineedit參考,取得xxx.text的 值 yyy ,最后用yyy替換掉 'xxx.text',取得拼接完成的SQl,然后才能SyntaxFromSQLuj5u.com熱心網友回復:
從資料庫中取出含..'"+xxx.text+"'.. 的字串,找到 xxx (singlelineedit的名字),遍歷視窗,取得名為xxx 的 singlelineedit 物件的參考,取得xxx.text的 值 yyy ,最后用yyy替換掉 'xxx.text',取得拼接完成的SQl,然后才能SyntaxFromSQLuj5u.com熱心網友回復:
okok,多謝高手指點,終于搞定了,我用pos()和replace()兩個函式定位替換字串中的變數,用拼接方式重組已經賦值的SQL陳述句,執行成功了,同大家分享。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/52515.html
標籤:DataWindow
上一篇:PB 作業流 實作問題若干
