我想在C#中使用Npgsql在PostgreSQL中的表中插入一个字符串数组。我已经编写了下面的代码但是得到了一个InvalidCastexception。
eventcommand.Parameters.AddWithValue("@participants", NpgsqlDbType.Array).Value = participant.Text;
其中,参与者是文本框,而eventcommand是NpgsqlCommand。
答案 0 :(得分:2)
您正在致电AddWithValue
但未提供价值 - 您正在提供类型。此外,您还没有提供阵列 - 您只是提供一个字符串。我怀疑你只是想要:
command.Parameters.Add("@participants", NpgsqlDbType.Array | NpgsqlDbType.Text).Value
= new[] { participant.Text };
或者您可能希望先将participant.Text
拆分为字符串数组,或者类似的东西。
(我根据评论调整了类型。)