MySqlCommandとMySqlParameterの組み合わせで一度に複数行のINSERTを行う方法はあるのでしょうか。
クエリの平文例として
SQL
1INSERT INTO hoge_table(name, age, gender) 2VALUES 3('fuga', 23, 'm'), 4('moge', 17, 'f'), 5('piyo', 19, 'm');
これをC#上で1行(fugaのみ)のINSERTを行う場合は
C#
1MySqlCommand cmd = new MySqlCommand("INSERT INTO hoge_table(name, age, gender) VALUES(@name, @age, @gender)", con); 2cmd.Parameters.Add(new MySqlParameter("name", "fuga")); 3cmd.Parameters.Add(new MySqlParameter("age", 23)); 4cmd.Parameters.Add(new MySqlParameter("gender", "m")); 5cmd.Open(); 6cmd.ExecuteNonQuery(); 7cmd.Close();
的な感じになるわけですが、最初に提示した複数行のINSERTをしたい場合はどのような記述(というかそもそもできるのか)にするのでしょうか。
3回繰り返せ!的な感じなのか、MySqlCommandに平文突っ込むしかないのかどうなのか…
そもそも平文を直接実行していたのですが、文字列もシングルクォーテーション囲っているのに例外(Fatal error encountered during command execution.)が発生する場合がしばしばあって(例外発生した実際の平文をコピーしてMySQLのクライアントでそのまま実行すると成功するのでシンタックスエラーはない状態)、仕方ないのできっちりMySqlParameterを使って対応しようかと思った次第なのですが複数行インサートできるのかというところにぶち当たりまして。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/10 02:55
2019/04/10 02:56