SQLデータベース内のテーブルに配列値を書き込むためのヘルプを探しています。 配列はすでにすべての値を計算しており、これらの値をデータベースに挿入します。しかし、コードを実行すると、「MySql.Data.MySqlClient.MySqlException型の未処理の例外がMySql.Data.dllで発生しました」というエラーメッセージが表示されます配列値をSQLデータベースに書き込む
追加情報:パラメータ '@PE'は既にあります定義されました。
前のパラメータを削除すると、各パラメータで同じことが言えます。
私はこのコードを別の形式でデータベースに書き込むためにこのコードを使用していて、うまくいきました。どんな助けも素晴らしいだろう。私のコードがある
、あなたのコードを理解している場合
は {
string myconnection = "datasource=localhost;port=3306;username=root;password=1234";
MySqlConnection myconn = new MySqlConnection(myconnection);
MySqlDataAdapter MyDataAdaptor = new MySqlDataAdapter();
MyDataAdaptor.SelectCommand = new MySqlCommand("select * lossdatabase.forecasttable;", myconn);
MySqlCommandBuilder cb = new MySqlCommandBuilder(MyDataAdaptor);
myconn.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
string constring = "datasource=localhost;port=3306;username=root;password=1234; ";
string query = " insert into lossdatabase.forecasttable (PE, Production_Time, Potential) VALUES(@PE, @Production_Time, @Potential;";
MySqlConnection conLossDB = new MySqlConnection(constring);
MySqlCommand cmdLossDB = new MySqlCommand(query, conLossDB);
for (int i=0; i<366; i++)
{
cmdLossDB.Parameters.AddWithValue("@PE", textBox2.Text);
cmdLossDB.Parameters.AddWithValue("@Production_Time", forecast[i,2]);
cmdLossDB.Parameters.AddWithValue("@Potential", forecast[i,3]);
}
MySqlDataReader myReader;
try
{
conLossDB.Open();
myReader = cmdLossDB.ExecuteReader();
MessageBox.Show("Forecast Results Saved");
while (myReader.Read())
{
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
'select * FROM lossdatabase.forecasttable;'あなたのFROMを忘れました。 – Jens
あなたの挿入クエリも最後に ')'が欠けています。 – Jens
"MySqlCommand cmdLossDB = ..."行をループに移動し、ループ内でクエリを実行する必要があります。 –