私は専門的なプログラミングの経験は比較的ありませんが、MS Access データベースとやり取りするプログラムを作成しようとしています。基本的に、フォームで情報を収集し、エントリごとに新しい行で情報を渡そうとしています。私は開いている OleDbConnection を持っており、新しいエントリを持つ行を確認できることをテストで示していますが、送信ボタンを押すと、キャッチにエラーは表示されませんが、データベースは変更されません。私は元々、クリック イベントから呼び出したメソッドにコードを持っていましたが、コードをイベント ハンドラーに渡して、呼び出しに問題がないことを確認しました。
private void btnSubmit_Click(object sender, EventArgs e)
{
if (DBConnection.State.Equals(ConnectionState.Closed))
{
DBConnection.Open();
}
try
{
MessageBox.Show("Save Data at index: " + intRowPosition.ToString());
OleDbCommand OledbInsert = new OleDbCommand("Insert INTO RetentionTable (DateTime,Center,CSP,MemberID,ContractNumber,RetentionType,RetentionTrigger,MemberReason,ActionTaken,Other) VALUES('" + DateTime.Now.ToString() + "','" + GetCenter("") + "','" + GetName("") + "','" + GetMemberID("") + "','" + GetContractNumber("") + "','" + GetType("") + "','" + GetTrigger("") + "','" + GetReason("") + "','" + GetAction("") + "', + GetOther("")," DBConnection);
intRowPosition++;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
MessageBox.Show(ex.StackTrace.ToString());
}
finally
{
RefreshDBConnection();
}
}
これが書かれていない理由についてのアイデアは大歓迎です。