c# - 使用参数的 npgsql 语句

标签 c# sql postgresql npgsql

我使用驱动 npgsql 在 sql 查询中传递参数:

SqlCommand = new NpgsqlCommand();
....
SqlCommand.CommandText = "SELECT id,name FROM table1 WHERE field1=:param2 ORDER BY name;";
SqlCommand.Parameters.AddWithValue("param2", 1);

此查询正确执行并发出了必要的数据,但是一旦我将参数添加到“select”部分中的 sql

SqlCommand.CommandText = "SELECT id,name :param1 FROM table1 WHERE field1=:param2 ORDER BY name;";
SqlCommand.Parameters.AddWithValue("param1", ",field1");
SqlCommand.Parameters.AddWithValue("param2", 1);

它给了我一些废话。理论上,对服务器的这个请求将被视为

SELECT id,name,field1 FROM table1 WHERE field1=1 ORDER BY name;

但这并没有发生。 这就提出了一个问题:有没有办法使用此类参数动态插入字段列表?

最佳答案

不幸的是,Npgsql 不支持你正在尝试做的事情。 NpgsqlParameter 值应该仅用作 where 子句中的参数值。 为了按照您的意愿动态添加字段名称,您必须使用字符串连接手动创建查询。

希望对你有帮助。

关于c# - 使用参数的 npgsql 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24482569/

相关文章:

c# - 在 Visual Studio 中使用设计 View 时隐藏母版页

c# - 使用 C# 代码删除文件夹?

c# - 从 C# 使用 C++ dll

mysql - 如何从表列中删除空值?

c# - 填充包含名称和项目 ID 的保管箱

django - 尝试在 Heroku 上设置 Django 和 postgreSQL

c# - fb like 按钮有什么问题?

mysql - 在另一列mysql中显示结果集值

node.js - 使用 Sequelize 和 postgis 查找多边形中的点

php - 使用 PostgreSQL 在 Yii Framework 中设置非默认架构