0

我目前正在创建一个小型 C# 程序,它将文件中的数据插入到 postgres 表中。

插入的代码如下所示:

 NpgsqlCommand cmd = new NpgsqlCommand(@"INSERT INTO :table(text) VALUES (:word);", con);
 cmd.Parameters.AddWithValue("table", table);
 cmd.Parameters.AddWithValue("word", line);
 cmd.ExecuteNonQuery(); 

但是每次它尝试执行“ExecuteNonquery”行时,我都会收到以下错误:

An unhandled exception of type 'Npgsql.NpgsqlException' occurred in Npgsql.dll
Additional information: ERROR: 42601: syntax error at or near "("

我可以连接到我检查过的数据库。变量表和行在运行时也具有正确的值。我就是想不通是什么问题。。

有什么建议么 ?

4

1 回答 1

4

据我所知,表格不能是参数。

但是,您可以为此使用字符串连接/格式化:

string table = "table";
NpgsqlCommand cmd = new NpgsqlCommand(string.Format(@"INSERT INTO {0}(text) VALUES (:word);", table), con);

猜猜这会起作用(没有测试它)。

于 2012-05-26T15:48:19.773 回答