首页 > 解决方案 > 使用某些标点符号时,vb.net 出现异常

问题描述

我不是程序员,我是老师。我的唯一目标是为我的学生编写一个简单的教育应用程序。我在 20 年前就开始编程了,但现在一切都如此模糊。所以在这个例子中,只有当我在将文本记录到 sql 数据库时使用一些标点符号时,vb.net 才会抛出异常。

代码截图:

con.Open()

    cmd = con.CreateCommand
    cmd.CommandType = CommandType.Text
    cmd = New SqlCommand("Select * from Dictionary where Id = " & intIdCheck & "", con)


    Dim result As DialogResult = MessageBox.Show("This word already exists in the Dictionary. Do you want to edit this entry?", "Entry Exists!", MessageBoxButtons.YesNo)

    If result = vbYes Then

        cmd.CommandText = "Update Dictionary  
        SET English = '" & TextBox1.Text & "',
        Turkish1 = '" & TextBox2.Text & "',
        TUrkish2 = '" & TextBox3.Text & "',
        Turkish3 = '" & TextBox4.Text & "',
        Turkish4 = '" & TextBox5.Text & "',
        Turkish5 = '" & TextBox6.Text & "',
        Turkish6 = '" & TextBox7.Text & "',
        Noun = '" & CheckBox1.CheckState & "',
        Verb = '" & CheckBox2.CheckState & "',
        Adjective = '" & CheckBox3.CheckState & "',
        Adverb = '" & CheckBox4.CheckState & "',
        NounSnt1 = '" & RichTextBox1.Text & "',
        NounSnt2 = '" & RichTextBox2.Text & "',
        VerbSnt1 = '" & RichTextBox3.Text & "',
        VerbSnt2 = '" & RichTextBox4.Text & "',
        AdjAdvSnt1 = '" & RichTextBox5.Text & "',
        AdjAdvSnt2 = '" & RichTextBox6.Text & "'
        where Id = " & intIdCheck & ""

        cmd.ExecuteNonQuery()

        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""
        TextBox7.Text = ""
        CheckBox1.Checked = CheckState.Unchecked
        CheckBox2.Checked = CheckState.Unchecked
        CheckBox3.Checked = CheckState.Unchecked
        CheckBox4.Checked = CheckState.Unchecked
        RichTextBox1.Text = ""
        RichTextBox2.Text = ""
        RichTextBox3.Text = ""
        RichTextBox4.Text = ""
        RichTextBox5.Text = ""
        RichTextBox6.Text = ""
        intIdCheck = 0

    Else

        Exit Sub

    End If

因此,richtextbox 控件用于句子,文本框用于单词。仅当我使用包含某些标点符号的句子(例如撇号')更新数据库表时才会引发异常。有谁知道这是关于什么的,他们是否也可以为我提供一个简单而简单的解决方案,因为我在编码方面并不那么专业。

提前致谢。

PS:我使用的是visual studio 2019,界面上显示的是T-SQL。

标签: sqlvb.net

解决方案


推荐阅读