RichTextBox上的System.Data.SqlClient.SqlException

时间:2017-07-27 13:48:06

标签: sql string vb.net visual-studio

我编写了一个带有Rich Textbox for Suggestion框的应用程序。 我将 VB.Net as String 中的数据类型插入到具有数据类型 nvarchar 的SQL表列中。我面临的问题是我能够在文本框中输入除冒号(')之外的所有字符。任何人都可以指导我如何允许文本框除了冒号(')作为数据,以便它将刷新到数据库中?

Error: System.Data.SqlClient.SqlException Unclosed quotation mark after the character string ')'.'

代码:

Public Class Form1_AnsaldoSTSSuggestions 
Dim EmployeeID As String = Convert.ToUInt32(EmployeeID) 
Dim FirstName As String       
Dim LastName As String        
Dim Department As String      
Dim Phone As String = Convert.ToUInt32(Phone)       
Dim Email As String           
Dim Suggestion As String   

2 个答案:

答案 0 :(得分:0)

我认为你的意思是撇号(')而不是冒号(:)。您可以用两个撇号替换撇号,但这听起来像是在动态构建一个SQL字符串,这会打开SQL注入攻击。做一些关于消毒SQL输入数据的研究。

答案 1 :(得分:0)

从Richtextbox获取值时,请使用replace函数。 例如:

Dim strRichTextValue=RichTextBox1.Text
strRichTextValue=strRichTextValue.Replace("'","''") 'simple solution with Replace

让我知道进展情况。 的问候,