C# Postgresql:-在字符串中写入查询语句,表名用双引号括起来
我能够连接到postgresQL,但在编写查询字符串时出现问题 我在下面试着C# Postgresql:-在字符串中写入查询语句,表名用双引号括起来,c#,postgresql,C#,Postgresql,我能够连接到postgresQL,但在编写查询字符串时出现问题 我在下面试着 string queryString = "Select* From \"ContactLink\" where \"ContactApplicationID\"="+ contactAppID; 输出:-Select*From\ContactLink\where\ContactApplicationID\=1428760 这是返回表名为ContactLink和ContactApplicationID
string queryString = "Select* From \"ContactLink\" where \"ContactApplicationID\"="+ contactAppID;
输出:-Select*From\ContactLink\where\ContactApplicationID\=1428760
这是返回表名为ContactLink和ContactApplicationID为\的字符串
我想要带双引号的查询字符串,不带引号。我该怎么做
我试过绳子,换了,但运气不好
任何帮助都将不胜感激
注意:-当我们打印queryString时,它不带/。所以我不知道那里发生了什么
投诉的原因是它没有连接,但无法读取表格
Select * from ContactLink where ContractApplicationID = 1428
或者如果是字符串字段
Select * from ContactLink where ContractApplicationID = '1428'
如果您正在尝试使用c代码,请尝试:
string queryString = String.Format("Select * From ContactLink where ContactApplicationID = {0} ",contactAppID);
问题在于您创建表的方式。您的表名和其中的列是作为区分大小写创建的,这在sql中是受支持的,但在sql和用于编写查询的语言中可能会导致很多问题。在sql中,它必须用双引号转义 在sql中,通常使用u而不是混合使用大写字母和小写字母来拆分单词 ContactLink=联系人链接
ContactApplicationID=contact\u application\u id@grantwiney但是如果我们在postgresql中执行没有双引号的查询,那就是抛出错误。@grantwiney它的抛出语法错误。@grantwiney:-我已经附加了屏幕抓图。@grantwiney:-它不工作:-错误在每个附加的屏幕抓图上使用我建议的语法是“错误人”的Samekind。让我知道你是否也需要抓屏?你需要在表和列名周围加双引号,因为SQL不区分大小写;标准SQL将标识符折叠为大写,PostgreSQL将标识符折叠为小写。如果没有双引号,您会抱怨contactlink是一个未知的表,contractapplicationid是一个未知的列。我看不出命名约定有任何错误。