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工作从不将值合并到字符串中进行查询。这是一场即将发生的灾难,也是许多其他问题(包括语法错误和数据类型不匹配)的根本原因