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

时间:2016-02-26 11:48:00

标签: sql sql-server vb.net vba

我正在编写一个简单的部分,将5个值插入到我的本地数据库中。连接得到了很好的建立,但是当我按下按钮时,它完成了插入数据库的工作,我得到了实例的对象没有设置为实例或对象"这条消息。

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

2 个答案:

答案 0 :(得分:1)

这应该适合你:

version

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

答案 1 :(得分:-1)

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