簡體   English   中英

富文本框 Append 查詢 C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM