bai*_*rog 2 c# postgresql npgsql
我正在尝试使用 Npgsql2 库从 PostgreSQL 10.5 数据库中选择数据 - 我无法使用 Npgsql3 或 Npgsql4,因为我需要支持 Windows XP(最高 .NET 4.0)。\n我使用以下代码:
\n\nvar builder = new NpgsqlConnectionStringBuilder();\n//setting connection string variables here\nvar connection = new NpgsqlConnection(builder.Tostring());\nvar query = "SELECT * FROM \\"TableName\\" ORDER BY \\"ColumnName\\"";\nvar adapter = new NpgsqlDataAdapter(query, connection);\nvar dataSet = new DataSet();\n\nconnection.Open();\nadapter.Fill(dataSet);\n
Run Code Online (Sandbox Code Playgroud)\n\n如果我在查询中没有对 TableName 或 ColumnName 使用双引号 - 则会失败并出现错误:
\n\n\n\n\nPostgreSQL 错误:42P01:关系 \xe2\x80\x9cTableName\xe2\x80\x9d 不存在
\n
用双引号就可以了。
\n\n那么是否可以使用不带双引号的Npgsql呢?有旗帜什么的吗?
\n如果没有双引号,PostgreSQL 会将所有标识符折叠为小写。这是 PostgreSQL 的行为,与 Npgsql 无关 - 后者只是在您编写 SQL 时传递 SQL。您可以切换到全小写的表名,在这种情况下,您不再需要引号。
归档时间: |
|
查看次数: |
2455 次 |
最近记录: |