我在使用C#表单更新数据库时遇到了问题。我使用了两个richtextboxes,一个只能读取,另一个将包含从我的数据库(richTextBox)中检索到的数据。 其他richtextbox将用于允许数据输入到数据库(richTextBox1)。当我的表单加载时,数据库中的数据被加载到只读文本框中。然后可以将数据写入richTextBox1,然后一旦按下“编辑”按钮,数据就会附加到数据库中。Richtextbox追加查询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中输入数据/文本,按下“编辑”按钮,导致数据被附加到第e数据库。 3.当表单重新打开时,添加的数据在只读文本框中可见richTextBox
方法的Catch和Finally部分在哪里? –