Vb.net “获取错误”;变量';cmd';在其指定值“0”之前使用;

Vb.net “获取错误”;变量';cmd';在其指定值“0”之前使用;,vb.net,Vb.net,我在网上找到了下面的代码,这将对我正在进行的项目有很大帮助,如果有人能推荐修复方案,我将不胜感激: Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click Dim cmd As OleDb.OleDbCommand If Not cnn.State = ConnectionState.Open Then 'open connection if it is

我在网上找到了下面的代码,这将对我正在进行的项目有很大帮助,如果有人能推荐修复方案,我将不胜感激:

    Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
    Dim cmd As OleDb.OleDbCommand
    If Not cnn.State = ConnectionState.Open Then
        'open connection if it is not yet open
        cnn.Open()
    End If
下一行有错误,变量“cmd”在赋值之前使用:

    cmd.Connection = cnn
    'check whether add new or update
    If Me.tbMemNo.Tag & "" = "" Then
        'add new
        'add data to table
        cmd.CommandText = "INSERT INTO athlete(memno, firstname, lastname, dob, gender, joindate, memfeeout) " &
                      " VALUES(" & tbMemNo.Text & ",'" & tbFirstName.Text & "','" & tbLastName.Text & "','
                      " & dpDOB.Text & "','" & cboGender.Text & "','" & dpClubJoinDate.Text & "','
                      " & tbMemFeeOut.Text & "')"
        cmd.ExecuteNonQuery()
    Else
        'update data in table
        cmd.CommandText = "Update athlete " &
                        " SET memno = " & tbMemNo.Text &
                        ", firstname = '" & tbFirstName.Text & "'" &
                        ", lastname = '" & tbLastName.Text & "'" &
                        ", dob = '" & dpDOB.Text & "'" &
                        ", gender = '" & cboGender.Text & "'" &
                        ", joindate = '" & dpClubJoinDate.Text & "'" &
                        ", memfeeout = '" & tbMemFeeOut.Text & "'" &
                        " WHERE memno = " & tbMemNo.Tag
        cmd.ExecuteNonQuery()
    End If
    'Refresh data in list
    RefreshData()

    'clear form
    btnClear.PerformClick()

    'close connection
    cnn.Close()
End Sub

谢谢

试试这个:
Dim cmd As OleDb.OleDbCommand=cnn.CreateCommand()
非常感谢!Dim cmd作为新的OleDb.OleDbCommand工作从不将值合并到字符串中进行查询。这是一场即将发生的灾难,也是许多其他问题(包括语法错误和数据类型不匹配)的根本原因