带有格式的富文本框文本不会保存在用于VB.NET的SQL中

时间:2015-07-25 07:52:52

标签: sql-server vb.net

我正在研究vb表单项目,其中我有RTB(富文本框), 我只想保存格式化文本保存到SQL也是数学类型字符。它保存但没有格式化并错过了一些数学字符? 这是我的代码

        Dim sname As Integer = Integer.Parse(txt1.Text)
        Dim sfname As Integer = 2
        Dim scnic As String = rtb.SelectedText 
        query &= "INSERT INTO tencmpC1 (qnumber,topic,Umcq)"


        query &= "VALUES (@qnumber, @topic,@Umcq )"


        Using conn As New SqlConnection(strConn)
            Using comm As New SqlCommand()
                With comm
                    .Connection = conn
                    .CommandType = CommandType.Text
                    .CommandText = query
                    .Parameters.AddWithValue("@qnumber", sname)
                    .Parameters.AddWithValue("@topic", sfname)
                    .Parameters.AddWithValue("@Umcq", scnic)
             conn.Open()

                    comm.ExecuteNonQuery()

                    txt10.Text = "question saved "
                End With



            End Using

下面是我编写RTB的代码

If FontDlg.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
        rtb.SelectionFont = FontDlg.Font

下面的图像显示结果在RTB中插入时和sql输出时从sql中输出格式化时? enter image description here

我使用nvarchar作为sql的UMCQ表的数据类型。

也不支持数学字符。 enter image description here

1 个答案:

答案 0 :(得分:1)

问题似乎是您将rtb.SelectedRtf保存到数据库而不是SelectedTextSelectedRtf是一个只返回纯文本的属性。 try { NimbusLookAndFeel laf = new NimbusLookAndFeel(); UIManager.setLookAndFeel(laf); laf.getDefaults().put("defaultFont", courier); } catch (UnsupportedLookAndFeelException ex) { Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex); } 属性是返回包含所有富文本格式的值的属性。