Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么这个SQL会告诉我“在预期的位置找不到FROM关键字”?_C#_Sql_Oracle_Toad - Fatal编程技术网

C# 为什么这个SQL会告诉我“在预期的位置找不到FROM关键字”?

C# 为什么这个SQL会告诉我“在预期的位置找不到FROM关键字”?,c#,sql,oracle,toad,C#,Sql,Oracle,Toad,此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关键

此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中工作得很好。

在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";


我当然不希望看到单引号和双引号互换。

您可能需要转义引号\

您可能需要转义引号\

您从哪里得到错误?是用C还是用TOAD?看Sharp,是的,我希望我可以写C,然后用itI完成我只是试着在Oracle中运行select Foo'f'表,我得到了相同的错误消息。你需要使用双引号,而不是单引号;问题是C,你不需要在列别名周围加引号。把它们放在一边,你从哪里得到的错误?是用C还是用TOAD?看Sharp,是的,我希望我可以写C,然后用itI完成我只是试着在Oracle中运行select Foo'f'表,我得到了相同的错误消息。你需要使用双引号,而不是单引号;问题是C,你不需要在列别名周围加引号。只需将它们排除在外。在@之后,您需要将报价加倍。两个示例都不会编译。您需要在@之后将引号加倍。这两个示例都无法编译。有时使用s而不是s会使编译更容易。有时使用s而不是s会使编译更容易。