为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 C# 和 Npgsql 中使用不带双引号的 PostgreSQL 表名

如何在 C# 和 Npgsql 中使用不带双引号的 PostgreSQL 表名

C#
守候你守候我 2022-06-12 14:33:38
我正在尝试使用 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。您可以切换到全小写的表名,在这种情况下您不再需要引号。



查看完整回答
反对 回复 2022-06-12
  • 1 回答
  • 0 关注
  • 258 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号