我正在尝试使用 Npgsql2 库从 PostgreSQL 10.5 数据库中选择数据 - 我不能使用 Npgsql3 或 Npgsql4,因为我需要支持 Windows XP(最大 .NET 4.0)。我使用以下代码:var builder = new NpgsqlConnectionStringBuilder();//setting connection string variables herevar connection = new NpgsqlConnection(builder.Tostring());var query = "SELECT * FROM \"TableName\" ORDER BY \"ColumnName\"";var adapter = new NpgsqlDataAdapter(query, connection);var dataSet = new DataSet();connection.Open();adapter.Fill(dataSet);如果我在查询中未对 TableName 或 ColumnName 使用双引号 - 它会失败并出现错误:PostgreSQL 错误:42P01:关系“表名”不存在使用双引号它可以工作。那么是否可以使用不带双引号的 Npgsql 呢?有没有什么flag之类的?
1 回答

函数式编程
TA贡献1807条经验 获得超9个赞
如果没有双引号,PostgreSQL 会将所有标识符折叠为小写。这是 PostgreSQL 的行为,与 Npgsql 无关 - 后者只是在您编写 SQL 时传递您的 SQL。您可以切换到全小写的表名,在这种情况下您不再需要引号。
- 1 回答
- 0 关注
- 258 浏览
添加回答
举报
0/150
提交
取消