WPFとC#を使用して2つのテキストボックスを介してmysqlデータベースに2つの値を挿入しようとしています。データベースに正常に接続していますが、データを挿入しようとするとエラーが発生します:列"user_name"をnullにすることはできません。本当に紛らわしいのは、最初と2番目のテキストボックスにデータを入力していることです。テキストボックスに挿入するデータが渡されていないようです。私の質問は、問題がどこにあり、それを修正する方法を知っていますか?
PS:私のデータベースは非常に単純で、int16が自動インクリメントされ、nameがvarchar100、user_passwordがvarchar100として含まれています。
これが私のコードです:
private void button1_Click(object sender, EventArgs e)
{
MySqlConnection con = new MySqlConnection("host=tara.rdb.superhosting.bg;user=sozopouk;password=27051996;database=sozopouk_test2;");
MySqlDataAdapter da = new MySqlDataAdapter();
da.InsertCommand = new MySqlCommand("Insert into niki2 values (@id,@name, @user_password)", con);
da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar).Value = textBox1.Text;
da.InsertCommand.Parameters.Add("@user_password", MySqlDbType.VarChar).Value=textBox2.Text;
con.Open();
da.InsertCommand.ExecuteNonQuery();
con.Close();
}
いくつかの変更を行った後、次のエラーメッセージが表示されます。
'フィールドリスト'の不明な列'name'
編集されたコードは次のとおりです。
private void button1_Click(object sender, EventArgs e)
{
MySqlConnection con = new MySqlConnection("host=tara.rdb.superhosting.bg;user=sozopouk;password=27051996;database=sozopouk_test2;");
MySqlDataAdapter da = new MySqlDataAdapter();
da.InsertCommand = new MySqlCommand("INSERT INTO niki (name, user_password) VALUES (@name, @user_password)", con);
da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar).Value = textBox1.Text;
da.InsertCommand.Parameters.Add("@user_password", MySqlDbType.VarChar).Value=textBox2.Text;
con.Open();
da.InsertCommand.ExecuteNonQuery();
con.Close();
}
nameをuser_nameに置き換えてデータを挿入しようとすると、エラーが発生します**列"user_name"をnullにすることはできません**
影響を受ける行は次のとおりです。
da.InsertCommand.ExecuteNonQuery();
あなたはそれを解決する方法を知っていますか?