将空值从textbox传递到sql查询
我是VB.net的新手。我在将空值从VB.net文本框传递到sql查询字符串时遇到问题。这是我当前的代码:将空值从textbox传递到sql查询,sql,vb.net,Sql,Vb.net,我是VB.net的新手。我在将空值从VB.net文本框传递到sql查询字符串时遇到问题。这是我当前的代码: Dim sqlstatement as string If generic_jobTxt.Text == '' Then generic_jobTxt = DBNull.Value End If sqlstatement = "Insert into Job_db (generic_job) values('"+generic_jobTxt+"')" 如何将
Dim sqlstatement as string
If generic_jobTxt.Text == '' Then
generic_jobTxt = DBNull.Value
End If
sqlstatement = "Insert into Job_db (generic_job) values('"+generic_jobTxt+"')"
如何将空值传递给sql字符串,以便在运行sql时在generic_job列中获得空值。谢谢大家! 首先,不要连接字符串来构建sql查询,而是使用参数化查询。否则,您将面临sql注入和其他问题。 这样的话,你也不需要到处摆弄撇号。但是你应该使用正确的类型 假设您使用的是SQL Server,列类型为
varchar
:
Dim sqlstatement = "Insert into Job_db (generic_job) values(@generic_job)"
Using con As New SqlConnection("connection-string")
Using insertCommand = New SqlCommand(sqlstatement, con)
Dim sqlParam = New SqlParameter("@generic_job", SqlDbType.VarChar)
Dim jobTxt As String = generic_jobTxt.Text.Trim()
sqlParam.Value = If(String.IsNullOrEmpty(jobTxt), Nothing, jobTxt)
insertCommand.Parameters.Add(sqlParam)
con.Open()
Dim inserted As Int32 = insertCommand.ExecuteNonQuery()
End Using
End Using
首先,不要连接字符串来构建sql查询,而是使用参数化查询。否则,您将面临sql注入和其他问题。 这样的话,你也不需要到处摆弄撇号。但是你应该使用正确的类型 假设您使用的是SQL Server,列类型为
varchar
:
Dim sqlstatement = "Insert into Job_db (generic_job) values(@generic_job)"
Using con As New SqlConnection("connection-string")
Using insertCommand = New SqlCommand(sqlstatement, con)
Dim sqlParam = New SqlParameter("@generic_job", SqlDbType.VarChar)
Dim jobTxt As String = generic_jobTxt.Text.Trim()
sqlParam.Value = If(String.IsNullOrEmpty(jobTxt), Nothing, jobTxt)
insertCommand.Parameters.Add(sqlParam)
con.Open()
Dim inserted As Int32 = insertCommand.ExecuteNonQuery()
End Using
End Using
您使用的是什么数据库?Microsoft sql Server当generic_jobTxt等于
”时会发生什么情况;drop table Job_db--代码>?您使用的是什么数据库?Microsoft sql Server当generic_jobTxt等于时会发生什么情况);drop table Job_db--代码>?