私はC#でPostgreSQL用のパラメータ化されたcommadを作成しようとしています。私の目標はDBテーブルに文字列のリストを書くことです。C#のPostgreSQLのパラメータ化されたクエリ
List<string> list = new List<string> { "listItem1", "listItem2", "listItem3" };
command.CommandText = "INSERT INTO table (item) VALUES (@ListItem);";
foreach (var item in list)
{
command.Parameters.AddWithValue("ListItem", item);
command.ExecuteNonQuery();
}
このコードは、dbテーブルに3回書き込まれたlistItem1で終了します。私はParamaterの名前と値を分ける必要があると思うが、どういうことか分からない。助けてもらえますか?ありがとう。
'AddWithValue'が*各反復*に*新しい*パラメータを追加します。あなただけたら、パラメータを宣言する必要があります。 –
foreachループ外のコマンドにパラメータを 'cmd.Parameters.Add(" @ ListItem "、SqlDbType.NVarchar);'として追加し、その値を 'command.Parameters [" @ListItem "]としてループ内に設定する必要があります。値= item; ' –