Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将空值从textbox传递到sql查询_Sql_Vb.net - Fatal编程技术网

将空值从textbox传递到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+"')" 如何将

我是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+"')"

如何将空值传递给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--