Vb.net ExecuteOnQuery需要打开且可用的连接。连接当前状态为关闭
在Vb.net ExecuteOnQuery需要打开且可用的连接。连接当前状态为关闭,vb.net,ms-access,Vb.net,Ms Access,在cm.ExecuteNonQuery之前添加cn.Open(),然后在退出sub之前添加cn.Close Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim response As MsgBoxResult response = MsgBox("Do you want to save the
cm.ExecuteNonQuery
之前添加cn.Open()
,然后在退出sub之前添加cn.Close
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim response As MsgBoxResult
response = MsgBox("Do you want to save the data ?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Confirm")
If response = MsgBoxResult.Yes Then
Try
Dim cm As New OleDb.OleDbCommand
Dim cn As New OleDb.OleDbConnection
cm = New OleDb.OleDbCommand
With cm
.Connection = cn
.CommandType = CommandType.Text
.CommandText = "INSERT INTO Drug (DrugCode, DrugName, Branch Code, Branch Name, Dosage, UM, Quantity, Date, ConsPRN, EMPCode, EMPName, EMPPos) VALUES ('DCode', 'DName', 'BCode', 'BName')"
.Parameters.Add(New System.Data.OleDb.OleDbParameter("DCode", System.Data.OleDb.OleDbType.VarChar, 255, Me.DCode.Text))
.Parameters.Add(New System.Data.OleDb.OleDbParameter("DName", System.Data.OleDb.OleDbType.VarChar, 255, Me.DName.Text))
.Parameters.Add(New System.Data.OleDb.OleDbParameter("BCode", System.Data.OleDb.OleDbType.VarChar, 255, Me.BCode.Text))
.Parameters.Add(New System.Data.OleDb.OleDbParameter("BName", System.Data.OleDb.OleDbType.VarChar, 255, Me.BName.Text))
' RUN THE COMMAND
cm.Parameters("DCode").Value = Me.DCode.Text
cm.Parameters("DName").Value = Me.DName.Text
cm.Parameters("BCode").Value = Me.BCode.Text
cm.Parameters("BName").Value = Me.BName.Text
cm.ExecuteNonQuery()
MsgBox("Record saved.", MsgBoxStyle.Information)
Me.DCode.Text = ""
Me.DName.Text = ""
Me.BCode.Text = ""
Me.BName.Text = ""
Exit Sub
End With
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
Finally
End Try
' MsgBox("Unable to save data. Please input blank fields!", MsgBoxStyle.Question + MsgBoxStyle.OkOnly, "Error")
ElseIf response = MsgBoxResult.No Then
Exit Sub
End If
End Sub
cm.Parameters(“DCode”).Value=Me.DCode.Text
cm.参数(“DName”).Value=Me.DName.Text
cm.参数(“BCode”).Value=Me.BCode.Text
cm.参数(“BName”).Value=Me.BName.Text
cn.Open()'关于错误消息,您不清楚什么?你的代码永远不会打开连接。此外,连接和命令对象在使用完毕后应予以处置。谢谢您,先生!:)
cm.Parameters("DCode").Value = Me.DCode.Text
cm.Parameters("DName").Value = Me.DName.Text
cm.Parameters("BCode").Value = Me.BCode.Text
cm.Parameters("BName").Value = Me.BName.Text
cn.Open() '<----- open the connection
cm.ExecuteNonQuery()
cn.Close() '<--- close the conenction
MsgBox("Record saved.", MsgBoxStyle.Information)
Me.DCode.Text = ""
Me.DName.Text = ""
Me.BCode.Text = ""
Me.BName.Text = ""