我正在嘗試使用 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 關注
- 248 瀏覽
添加回答
舉報
0/150
提交
取消