Vb.net ExecuteOnQuery:尚未初始化连接属性

Vb.net ExecuteOnQuery:尚未初始化连接属性,vb.net,Vb.net,在此处获取错误不确定其不打开连接的原因。希望有人能帮助我 Protected Sub Btn_Submit_Click(ByVal sender As System.Object, e As System.EventArgs) Handles Btn_Submit.Click Dim Sqlstr As String Dim con As SqlConnection Dim connectionString As String = "Data Source=DB\TES

在此处获取错误不确定其不打开连接的原因。希望有人能帮助我

 Protected Sub Btn_Submit_Click(ByVal sender As System.Object, e As System.EventArgs) Handles Btn_Submit.Click
    Dim Sqlstr As String
    Dim con As SqlConnection
    Dim connectionString As String = "Data Source=DB\TEST;Initial Catalog=Orders;Integrated Security=True"
    Dim cmdInsert As New SqlCommand(Sqlstr, con)
    Sqlstr = "insert into customers(FirstName,LastName,Email,Phone,Address,City,State,Zip) values (@FirstName,@LastName,@Email,@Phone,@Address,@City,@State,@Zip)"
    Try
        Using connection As New SqlConnection(connectionString)
            connection.Open()
            cmdInsert.Parameters.Add("@FirstName", Data.SqlDbType.NVarChar).Value = FirstName.Text()
            cmdInsert.Parameters.Add("@LastName", Data.SqlDbType.NVarChar).Value = LastName.Text
            cmdInsert.Parameters.Add("@Email", Data.SqlDbType.NVarChar).Value = Email.Text
            cmdInsert.Parameters.Add("@Phone", Data.SqlDbType.NChar).Value = Phone.Text
            cmdInsert.Parameters.Add("@Address", Data.SqlDbType.NVarChar).Value = Address.Text
            cmdInsert.Parameters.Add("@City", Data.SqlDbType.NVarChar).Value = City.Text
            cmdInsert.Parameters.Add("@State", Data.SqlDbType.NVarChar).Value = State.Text
            cmdInsert.Parameters.Add("@Zip", Data.SqlDbType.NChar).Value = Zip.Text
            cmdInsert.ExecuteNonQuery()
            connection.Close()
        End Using
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

您有两个SqlConnection对象——一个在Dim con中作为SqlConnection,另一个在using语句中。在using语句之后创建SqlCommand,并将连接传递给构造函数。

您有两个SqlConnection对象,一个在Dim con中作为SqlConnection,另一个在using语句中。在using语句之后创建SqlCommand,并将连接传递给构造函数。

您的作用域错误-您在实例化并打开试图用于执行该命令的实际SQL连接之前实例化了SqlCommand

我相信这就是修复代码的方法。我将insert调用移到了使用范围中:


您的作用域错误-您在实例化和打开试图用于执行命令的实际SQL连接之前实例化了SqlCommand

我相信这就是修复代码的方法。我将insert调用移到了使用范围中:


未声明/续订连接时,始终会发生连接Sting属性错误

解决办法很简单

dim con as new SqlConnection 
con.connectionString = "Provide your SQL connection"
con.open
'write code or action you want to perform
con.close

希望对您有所帮助。

未声明/续订连接时,始终会发生连接Sting属性错误

解决办法很简单

dim con as new SqlConnection 
con.connectionString = "Provide your SQL connection"
con.open
'write code or action you want to perform
con.close

希望有帮助。

您需要将连接分配给该命令。或者,使用cmdInsert=connection.CreateCommand。因此,仅对Connections或实现IDisposable的所有其他内容使用using语句。您不需要首先声明连接。这只是此类错误的来源。您需要将连接分配给该命令。或者,使用cmdInsert=connection.CreateCommand。因此,仅对Connections或实现IDisposable的所有其他内容使用using语句。您不需要首先声明连接。这只是这些错误的根源。
dim con as new SqlConnection 
con.connectionString = "Provide your SQL connection"
con.open
'write code or action you want to perform
con.close