C#フォームを使用してデータベースを更新する際に問題があります。 2つのリッチテキストボックスを使用しています.1つは読み込み専用で、データベース(richTextBox)から取得したデータが含まれます。 他のrichtextboxは、データベース(richTextBox1)へのデータ入力を可能にするために使用されます。フォームが読み込まれると、データベースのデータが読み込み専用のテキストボックスに読み込まれます。 richTextBox1にデータを書き込むと、「編集」ボタンを押すとデータベースに追加されます。リッチテキストボックス追加クエリC#
問題は、データをデータベースに追加するのではなく、入力した新しいデータが古いデータを上書きすることです。私が読んだ情報源からは、データを追加する方法はなく、データを置き換えるだけであると思われます。 私のコードは次のとおりです。
コードは、データベースからデータを取得する:
private void QuizForm_Load(object sender, EventArgs e)
{
//declare connection string using windows security
string cnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Hannah\\Desktop\\Quiz.accdb";
//declare Connection, command and other related objects
OleDbConnection conGet = new OleDbConnection(cnString);
OleDbCommand cmdGet = new OleDbCommand();
try
{
//open connection
conGet.Open();
cmdGet.CommandType = CommandType.Text;
cmdGet.Connection = conGet;
cmdGet.CommandText = "SELECT DataToRead FROM QuizQuestions";
richTextBox.Text = cmdGet.ExecuteScalar().ToString();
conGet.Close();
}
コードがデータベースにデータを保存するには:要するに
private void btnEdit_Click(object sender, EventArgs e)
{
//richTextBox.Enabled = true;
{
//declare connection string using windows security
string cnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Hannah\\Desktop\\Quiz.accdb";
//declare Connection, command and other related objects
OleDbConnection conSave = new OleDbConnection(cnString);
OleDbCommand cmdSave = new OleDbCommand();
try
{
//open connection
conSave.Open();
cmdSave.CommandType = CommandType.Text;
cmdSave.Connection = conSave;
cmdSave.CommandText = "UPDATE QuizQuestions SET DataToRead = @prichTextBox";
OleDbParameter parrichTextBox1 = new
OleDbParameter("@prichTextBox", OleDbType.VarChar);
parrichTextBox1.Value = (richTextBox.Text + richTextBox1.Text);
cmdSave.ExecuteNonQuery();
//cmdSave.Parameters.Add("@parrichTextBox1", OleDbType.VarChar, combinedTextBox);
conSave.Close();
//END OF MY CODE
}
、これは私が起こるしたいものです: 1.フォームが開き、自動的にrichTextBoxにデータベースの内容が入力されます 2.データ/テキストはrichTextBox1に入力され、「編集」ボタンが押され、その結果データが追加されますデータベース。 3.フォームを再度開くと、追加されたデータが読み取り専用テキストボックスに表示されます。richTextBox
メソッドのキャッチ部分と最後の部分はどこですか? –