[英]Richtextbox Append Query C#
我無法使用我的 C# 表格更新我的數據庫。 我正在使用兩個富文本框,一個是只讀的,並且包含從我的數據庫(富文本框)中檢索到的數據。 另一個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 語句確實覆蓋了數據。 如果您想 append 將richTextBox 中存在的數據添加到已從數據庫中讀取的記錄中,您的 UPDATE SQL 語句應如下所示:
UPDATE QuizQuestions SET DataToRead = DataToRead + @prichTextBox
如果您將更新語句更改為此會發生什么:
cmdSave.CommandText = "UPDATE QuizQuestions SET DataToRead = DataToRead + ' '" + @prichTextBox";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.