2

コード内のこのSQL:

SELECT QHR, 
DECODE(DUCKBILLID1,NULL,' ',DUCKBILLID1) "DB1", 
DECODE(DUCKBILLID2,NULL,' ',DUCKBILLID2) "DB2", 
DECODE(DUCKBILLID3,NULL,' ',DUCKBILLID3) "DB3" 
FROM PLATYPUSSCHEDULE 
WHERE PLATYPUSID = :ABCID AND DOW = :DOW

...「FROMキーワードが予期された場所に見つかりません」で失敗します

同じこと(DBNを囲む引用符がc#コードでは一重引用符であり、TOADでは上記のように二重引用符である場合を除く)は、TOADで問題なく機能します。

4

2 に答える 2

2

C#では次のようなものが表示されると思います

String qry = 
@"SELECT QHR,  
DECODE(DUCKBILLID1,NULL,' ',DUCKBILLID1) ""DB1"",  
DECODE(DUCKBILLID2,NULL,' ',DUCKBILLID2) ""DB2"",  
DECODE(DUCKBILLID3,NULL,' ',DUCKBILLID3) ""DB3""  
FROM PLATYPUSSCHEDULE  
WHERE PLATYPUSID = :ABCID AND DOW = :DOW";

また

String qry = 
"SELECT QHR,DECODE(DUCKBILLID1,NULL,' ',DUCKBILLID1) \"DB1\",DECODE(DUCKBILLID2,NULL,' ',DUCKBILLID2) \"DB2\",DECODE(DUCKBILLID3,NULL,' ',DUCKBILLID3) \"DB3\" FROM PLATYPUSSCHEDULE WHERE PLATYPUSID = :ABCID AND DOW = :DOW";

一重引用符と二重引用符が入れ替わるのは確かに予想していません。

于 2012-08-16T21:18:55.447 に答える
2

おそらく引用符をエスケープする必要があります(\"

于 2012-08-16T21:20:53.877 に答える