我想在PostgreSQL中使用C中的Npgsql将字符串数组插入到表中。我已经写了下面的代码,但是得到了一个InvalidCastexception。

eventcommand.Parameters.AddWithValue("@participants", NpgsqlDbType.Array).Value = participant.Text;

其中participant是一个文本框,eventcommand是一个NpgsqlCommand。

最佳答案

您正在调用AddWithValue,但未提供值-您正在提供类型。另外,您没有提供数组-您只是提供一个字符串。我想你只是想:

command.Parameters.Add("@participants", NpgsqlDbType.Array | NpgsqlDbType.Text).Value
    = new[] { participant.Text };

或者,您可能希望首先将participant.Text拆分为字符串数组或类似的数组。
(我已经根据注释调整了类型。)

10-07 12:43