一個資料視窗用陣列做引數,第一次給陣列引數賦值,資料視窗可以取到資料,當陣列引數內容改變后,資料視窗無法取資料,跟蹤到陳述句直接PB下又可以取到資料,將視窗關閉偶重新打開,用同樣的引數資料視窗又能取到資料?
大家幫忙看看是什么原因啊,謝謝了!
uj5u.com熱心網友回復:
SQLPreview事件中寫if request = PreviewFunctionRetrieve! and sqltype = PreviewSelect! then
messagebox('', sqlsyntax)
end if
看看,當執行retrieve沒有取到資料時,執行的SQL陳述句是怎樣的
uj5u.com熱心網友回復:
沒有取到資料時,我用Statement Tracer for Oracle跟蹤到的陳述句可以查詢到資料視窗打開后,如果陣列引數不改變,資料視窗都可以取到資料,如果引數改變了,資料視窗就取不到資料了,實際上表里有符合的資料,如果把視窗關了重開,又可以取到資料
uj5u.com熱心網友回復:
既然能跟蹤到陳述句,就把幾種情況的下的sql復制出來對比唄,看看你的傳入引數有什么問題。uj5u.com熱心網友回復:
重新編譯一下該datawindow試試uj5u.com熱心網友回復:
看下是不是引數改變后,查詢操作沒有重新執行。uj5u.com熱心網友回復:
//能取到資料的陳述句SELECT DISTINCT
"DIALYSE_ORDERS"."ORDER_CODE",
"DIALYSE_ORDERS"."ORDER_TEXT",
"DIALYSE_ORDERS"."ORDER_SPEC",
"DIALYSE_ORDERS"."ORDER_CLASS",
Decode("DIALYSE_ORDERS"."PACKAGE_UNITS", null , ' ' , "DIALYSE_ORDERS"."PACKAGE_UNITS"),
Decode("DIALYSE_ORDERS"."AMOUNT", null , 0 , "DIALYSE_ORDERS"."AMOUNT") ,
"DIALYSE_ORDERS"."DOSAGE",
Decode( "DIALYSE_ORDERS"."DOSAGE_UNITS", null , ' ' , "DIALYSE_ORDERS"."DOSAGE_UNITS") ,
Decode("DIALYSE_ORDERS"."ADMINISTRATION", null , ' ' , "DIALYSE_ORDERS"."ADMINISTRATION"),
Decode("DIALYSE_ORDERS"."FREQUENCY", null , ' ' , "DIALYSE_ORDERS"."FREQUENCY") ,
"DIALYSE_ORDERS"."PERFORMED_BY",
"DIALYSE_BILL_ITEMS"."CHARGES",
"DRUG_DICT"."TOXI_PROPERTY","DIALYSE_ORDERS"."ORDER_NO","DIALYSE_ORDERS"."ORDER_SUB_NO","DIALYSE_ORDERS"."PRESCNO"
FROM "DIALYSE_ORDERS", "DIALYSE_BILL_ITEMS",
"DRUG_DICT"
WHERE ( "DIALYSE_ORDERS"."DIALYSE_ID" = '02703200' )AND
("DIALYSE_ORDERS"."DIALYSE_VISIT_ID" = 1) AND
("DIALYSE_ORDERS"."DIALYSE_NO" = 2 ) AND
("DIALYSE_ORDERS"."PRESCNO" in (1,1) ) AND
("DIALYSE_ORDERS"."ORDER_CLASS" ='A') and
( "DIALYSE_ORDERS"."DIALYSE_ID" = "DIALYSE_BILL_ITEMS"."DIALYSE_ID" )AND
("DIALYSE_ORDERS"."DIALYSE_VISIT_ID" = "DIALYSE_BILL_ITEMS"."DIALYSE_VISIT_ID") AND
("DIALYSE_ORDERS"."DIALYSE_NO" = "DIALYSE_BILL_ITEMS"."DIALYSE_NO" ) AND
("DIALYSE_ORDERS"."ORDER_NO" = "DIALYSE_BILL_ITEMS"."RELATED_ORDER_NO") AND
("DIALYSE_ORDERS"."ORDER_SUB_NO" = "DIALYSE_BILL_ITEMS"."RELATED_ORDER_SUB_NO" ) AND
( DIALYSE_ORDERS.ORDER_code = drug_dict.drug_code (+))
;
//取不到資料的陳述句
SELECT DISTINCT
"DIALYSE_ORDERS"."ORDER_CODE",
"DIALYSE_ORDERS"."ORDER_TEXT",
"DIALYSE_ORDERS"."ORDER_SPEC",
"DIALYSE_ORDERS"."ORDER_CLASS",
Decode("DIALYSE_ORDERS"."PACKAGE_UNITS", null , ' ' , "DIALYSE_ORDERS"."PACKAGE_UNITS"),
Decode("DIALYSE_ORDERS"."AMOUNT", null , 0 , "DIALYSE_ORDERS"."AMOUNT") ,
"DIALYSE_ORDERS"."DOSAGE",
Decode( "DIALYSE_ORDERS"."DOSAGE_UNITS", null , ' ' , "DIALYSE_ORDERS"."DOSAGE_UNITS") ,
Decode("DIALYSE_ORDERS"."ADMINISTRATION", null , ' ' , "DIALYSE_ORDERS"."ADMINISTRATION"),
Decode("DIALYSE_ORDERS"."FREQUENCY", null , ' ' , "DIALYSE_ORDERS"."FREQUENCY") ,
"DIALYSE_ORDERS"."PERFORMED_BY",
"DIALYSE_BILL_ITEMS"."CHARGES",
"DRUG_DICT"."TOXI_PROPERTY","DIALYSE_ORDERS"."ORDER_NO","DIALYSE_ORDERS"."ORDER_SUB_NO","DIALYSE_ORDERS"."PRESCNO"
FROM "DIALYSE_ORDERS", "DIALYSE_BILL_ITEMS",
"DRUG_DICT"
WHERE ( "DIALYSE_ORDERS"."DIALYSE_ID" = '02703200' )AND
("DIALYSE_ORDERS"."DIALYSE_VISIT_ID" = 1) AND
("DIALYSE_ORDERS"."DIALYSE_NO" = 2 ) AND
("DIALYSE_ORDERS"."PRESCNO" in (2) ) AND
("DIALYSE_ORDERS"."ORDER_CLASS" ='A') and
( "DIALYSE_ORDERS"."DIALYSE_ID" = "DIALYSE_BILL_ITEMS"."DIALYSE_ID" )AND
("DIALYSE_ORDERS"."DIALYSE_VISIT_ID" = "DIALYSE_BILL_ITEMS"."DIALYSE_VISIT_ID") AND
("DIALYSE_ORDERS"."DIALYSE_NO" = "DIALYSE_BILL_ITEMS"."DIALYSE_NO" ) AND
("DIALYSE_ORDERS"."ORDER_NO" = "DIALYSE_BILL_ITEMS"."RELATED_ORDER_NO") AND
("DIALYSE_ORDERS"."ORDER_SUB_NO" = "DIALYSE_BILL_ITEMS"."RELATED_ORDER_SUB_NO" ) AND
( DIALYSE_ORDERS.ORDER_code = drug_dict.drug_code (+))
;
uj5u.com熱心網友回復:
兩個陳述句用PB直接查詢都可以取到資料資料視窗重新編譯也沒用
uj5u.com熱心網友回復:
("DIALYSE_ORDERS"."PRESCNO" in (1,1) ) AND("DIALYSE_ORDERS"."PRESCNO" in (2) ) AND
看下是不是這2個的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/70850.html
標籤:數據庫相關
下一篇:我的用戶名不賴吧 ,呵呵
