Sql server 2008 在vb.net中未处理无效的操作异常

Sql server 2008 在vb.net中未处理无效的操作异常,sql-server-2008,vb.net-2010,Sql Server 2008,Vb.net 2010,我已经检查了每个参数,仍然没有处理无效的操作异常 代码da.Fill(ds)突出显示。请帮帮我 连接模块: Imports System.Data Imports System.Data.SqlClient Module Connectionmodule Public constr As String Public con As SqlConnection Public usertype As String Public Sub myconnection()

我已经检查了每个参数,仍然没有处理无效的操作异常 代码da.Fill(ds)突出显示。请帮帮我

连接模块:

Imports System.Data
Imports System.Data.SqlClient


Module Connectionmodule
    Public constr As String
    Public con As SqlConnection
    Public usertype As String
    Public Sub myconnection()
        constr = "server=KARAN-PC;database=Karan;trusted_connection=yes"
        con = New SqlConnection(constr)
        con.Open()
    End Sub
End Module
登入表格:

导入系统数据 导入System.Data.SqlClient

公共类登录表单 Dim da作为SqlDataAdapter Dim ds作为数据集 将查询设置为字符串

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
    query = "select * from usermaster where username = '" & username.Text & "' and password = '" & password.Text & "'"
    da = New SqlDataAdapter(query, con)
    ds = New DataSet
    da.Fill(ds)

    If ds.Tables(0).Rows.Count > 0 Then
        usertype = ds.Tables(0).Rows(0).Item(2)
        MsgBox(usertype)
        MsgBox(usertype)

    Else
        MsgBox("In Valid user")
    End If
    Me.Close()

End Sub


Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
    Me.Close()
End Sub

End Class

SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序,其中恶意SQL语句插入到输入字段中执行(例如,将数据库内容转储给攻击者)。确定。那么在这种情况下需要做什么呢?您需要使用参数化查询,而不是追加文本。你能给我一个关于这个的查询例子吗?如果我使用这个,那么如果con.State=ConnectionState.Open,那么con.Close()con.Open()我会得到一个错误,创建一个新的关键字来创建一个对象实例。