Richtextbox追加查询C#
本文关键字:查询 追加 Richtextbox | 更新日期: 2023-09-27 18:01:09
我在使用C#表单更新数据库时遇到问题。我使用了两个richTextBox,其中一个将是只读的,并且将包含从我的数据库(richTextBox(中检索到的数据。另一个richtextbox将用于允许数据输入数据库(richTextBox1(。加载表单时,数据库中的数据将加载到只读文本框中。然后可以将数据写入richTextBox1,一旦我按下"编辑"按钮,就会将其附加到数据库中。
我遇到的问题是,输入的新数据覆盖了旧数据,而不是将数据附加到数据库中。从我读到的资料来看,似乎没有办法附加数据,只能替换数据。我的代码如下:
从数据库检索数据的代码:
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 中可见
您的SQL语句确实覆盖了数据。如果您想将richTextBox中存在的数据附加到从DB中读取的记录中,那么您的UPDATE SQL语句应该如下所示:
UPDATE QuizQuestions SET DataToRead = DataToRead + @prichTextBox
如果将更新语句改为会发生什么
cmdSave.CommandText = "UPDATE QuizQuestions SET DataToRead = DataToRead + ' '" + @prichTextBox";