Sql 实例的对象未设置为实例或对象。Visual Basic

Sql 实例的对象未设置为实例或对象。Visual Basic,sql,sql-server,vb.net,vba,Sql,Sql Server,Vb.net,Vba,我正在写一篇简单的文章,在本地数据库中插入5个值。连接建立得很好,但当我按下按钮(该按钮执行插入DB的任务)时,我会收到“实例对象未设置为实例或对象”这条消息 Sql版本 Microsoft SQL Server 2014-12.0.2000.8(X64) 这是我的密码 Imports System.Data.Sql Imports System.Data.SqlClient Public Class Form1 Dim ID As Integer = 0 Private Sub Form1

我正在写一篇简单的文章,在本地数据库中插入5个值。连接建立得很好,但当我按下按钮(该按钮执行插入DB的任务)时,我会收到“实例对象未设置为实例或对象”这条消息

Sql版本 Microsoft SQL Server 2014-12.0.2000.8(X64)

这是我的密码

Imports System.Data.Sql
Imports System.Data.SqlClient

Public Class Form1
Dim ID As Integer = 0

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Dim SQLCon As New SqlConnection With {.ConnectionString = "Server=DIONISIS-PC\SQLEXPRESS; Database=Testing;Trusted_Connection=True;"
                                         }
    Dim SQLcmd As SqlCommand
    Try
        SQLCon.Open()
        Label2.Text = "Connected"


    Catch ex As Exception
        Label2.Text = "ERROR"
        MsgBox(ex.Message)

    Finally
        SQLCon.Close()

    End Try

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim SQLCon As New SqlConnection With {.ConnectionString = "Server=DIONISIS-PC\SQLEXPRESS; Database=Testing;Trusted_Connection=True;"
                                         }
    Dim SQLcmd As SqlCommand
    ID += 1
    Dim LastName As String = TextBox1.Text
    Dim firstName As String = TextBox2.Text
    Dim Address As String = TextBox3.Text
    Dim city As String = TextBox4.Text
    Try
        SQLCon.Open()
        SQLcmd.Connection = SQLCon 'EDIT: The problem seems to be here'
        SQLcmd.CommandText = "INSERT INTO students([student_ID], [LastName],[FirstName],[Address],[City]) VALUES([ID], [LastName],[firstName],[Address],[city])"
        SQLcmd.ExecuteNonQuery()



    Catch ex As Exception

        MsgBox(ex.Message)

    Finally
        SQLCon.Close()

    End Try

End Sub
End Class

这应该适合您:

SQLcmd.CommandText = ("INSERT INTO students([student_ID], [LastName],      
[FirstName],[Address],[City]) VALUES({1},'{2}','{3}','{4}','{5}'"),LastName       
,firstName,Address,city)

但是您将倾向于SQL注入。描述了正确的方法,它的名称是使用SQL参数

在尝试设置属性之前,您需要实例化
SQLcmd

值([ID]、[LastName]、[firstName]、[Address]、[city])
@Devart检查上面的编辑,谢谢
SQLcmd
instantiated@Jamiec上帝啊你是对的。谢谢你sirwell它不起作用。。。这条线路似乎有问题。SQLcmd.Connection=SQLCon