簡體   English   中英

Datagridview 顯示 system.windows.forms.richtextbox.text:使用 SQL

[英]Datagridview shows system.windows.forms.richtextbox.text: using SQL

我有一個Richtextbox ,用戶將在其中更新SQL database 更新后的數據將顯示在 datagridview 中。 但是,更新后的值會有一個system.windows.forms.richtextbox.text:在更新數據的前面,而不是更新數據本身。 我已經閱讀了諸如Link 1Link 2 之類的線程,但我不確定如何在我的情況下實現它。 下面是我的代碼:

更新數據 - 表格 1

private void button1_Click(object sender, EventArgs e)
    {
        sqlConnection.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Savertb.mdf;Integrated Security=True";
        sqlConnection.Open();
        cmd = new SqlCommand("UPDATE Rtbdata SET Exterior='" + RichTextBox1 + "'", sqlConnection);
        cmd.ExecuteNonQuery();
        sqlConnection.Close();
        this.Hide();
      }

在 datagridview 中插入更新的數據 - 表格 2

private void button2_Click(object sender, EventArgs e)
    {
        sqlConnection.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Savertb.mdf;Integrated Security=True";
        sqlConnection.Open();
        SqlDataAdapter da = new SqlDataAdapter("SELECT * from Rtbdata", sqlConnection);
        sqlConnection.Close();
        SqlCommandBuilder cb = new SqlCommandBuilder(da);
        DataTable dt = new DataTable();
        da.Fill(dt);
        dataGridView1.DataSource = dt;
        dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
    }

您正在隱式調用RichTextBox.ToString()方法,該方法返回類名。 使用Text屬性

    cmd = new SqlCommand("UPDATE Rtbdata SET Exterior='" + RichTextBox1.Text + "'", sqlConnection);

再看看參數化的sql命令,省事又方便。 目前您的代碼受到 sql 注入攻擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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