我想在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
拆分为字符串数组或类似的数组。(我已经根据注释调整了类型。)