0
Oledbの仕組みには最適ではありませんが、私を助けてください。 コードが接続されているアクセスデータベースがあります。問題はCommandTextを実行した後もエラーは発生しませんが、データベースは更新されません。C# - Oledb - 更新していない
私は何かを逃したかもしれない、迷惑をかけないでください。
private void parametersEditCreate() // Used within method below
{
dateTime = Convert.ToDateTime(dtpDateofBirth.Value.ToShortDateString());
command.Parameters.AddWithValue("@forename", txtForename.Text);
command.Parameters.AddWithValue("@surname", txtSurname.Text);
command.Parameters.AddWithValue("@username", txtUsername.Text);
command.Parameters.AddWithValue("@password", txtPassword.Text);
command.Parameters.AddWithValue("@class", txtClass.Text);
command.Parameters.AddWithValue("@dob", dateTime.ToString());
command.Parameters.AddWithValue("@gender", txtGender.Text);
command.Parameters.AddWithValue("@cf", txtCourseFavourite.Text);
}
private void createEditRecord(string ID) // If 'Edit' disable StudentID (Autoincrement) and ignore (string ID) parameter, otherwise update.
{
string query;
connection.Open();
if (Teacher.CreateOREdit == "Edit")
{
query = "UPDATE tblStudent SET [Forename][email protected],[Surname][email protected],[Username][email protected],[Password][email protected],[Class][email protected],[DateofBirth][email protected],[Gender][email protected],[Course Favourite][email protected] WHERE [StudentID][email protected]";
command = new OleDbCommand(query, connection);
command.Parameters.AddWithValue("@id", txtStudentID.Text);
parametersEditCreate();
}
else //Create - FOR STACKOVERFLOW, ignore else
{
query = "INSERT INTO tblStudent([Forename],[Surname],[Username],[Password],[Class],[DateofBirth],[Gender],[Course Favourite]) VALUES (@forename,@surname,@username,@password,@class,@dob,@gender,@cf)";
command = new OleDbCommand(query, connection);
}
command.ExecuteNonQuery();
connection.Close();
}
を使用して試みることができる 'int型にrowsAffected = cmd.ExecuteNonQuery()は、'影響を受けた行数を教えてくれます。ゼロ以外の場合は、[なぜ変更をデータベースに保存するのが失敗するのですか?](http://stackoverflow.com/q/17147249/1070452)を参照してください。 DataAdapterは、あなたのためにそのほとんどを(データ型の変換なしで)行うために教えることができます – Plutonix
何もないのですが、あなたの5つの質問に8つの答えがあります - (いくつかの[利用可能な最良のマインド](http:// stackoverflow .com/a/38464280/1070452)!)。あなたはUnAnswered Listから削除されるように、動作するものを受け入れる(チェックマークをクリックする)ために1分かかるべきです。助けや知らせるQやA(どこでも)をアップアップすることもできます。これは他の人が良い答えを見つけるのを助けます。あなたが[ツアー]を取った場合、その点でSQの仕組みが説明されています。 – Plutonix