连接必须是有效的,并在2008年VB

问题描述:

Imports MySql.Data.MySqlClient 
Public Class daftar 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Dim Cn As New MySqlConnection 
    Dim str As String 
    Dim dt As New DataTable 
    Dim cmd As New MySqlCommand 
    Cn = New MySqlConnection("server=localhost;" _ 
     & "user id=root;" _ 
     & "password=;" _ 
     & "database=loginapp") 
    Try 
     Cn.Open() 
     MsgBox("Connected") 
    Catch ex As Exception 
     MsgBox("Failed Connection " & vbCrLf & "Error Message : " & ex.Message, MsgBoxStyle.Critical, "Peringatan") 
    End Try 
    cmd.Parameters.AddWithValue("@id", user.Text) 
    cmd.Parameters.AddWithValue("@pass", pass.Text) 
    str = "INSERT INTO tbluser(Username,Password) VALUES (@id,@pass)" 
    cmd = New MySqlCommand(str) 
    cmd.ExecuteNonQuery() 
    MessageBox.Show("Insert Data Siswa Berhasil Dilakukan") 
    Cn.Close() 
End Sub 
End Class 

我有“cmd.ExecuteNonQuery”问题开放,它有一个消息“连接必须是有效的,公开”可有人能帮助我解决这个问题?连接必须是有效的,并在2008年VB

+0

您没有将您的打开连接分配给您的命令。 – InbetweenWeekends

+0

将密码信息作为纯文本传递不是一个好主意。 – OneFineDay

我不相信你明白New关键字的作用。您正在创建一个新命令并为其添加参数,然后通过重新创建一个全新的MySqlCommand实例来破坏您的工作。除了这个错误之外,您从未将您的命令设置为使用您打开的连接。你最好再去阅读文档。