只有一名学生在从事他们的项目。尝试研究但没有运气,希望能为您提供帮助。 我目前要输入的表格编码如下。
Imports System.Data.OleDb
Public Class frmPlayerInput
Dim Provider As String
Dim dataFile As String
Dim connString As String
Dim myConnection As OleDbConnection = New OleDbConnection
Private Sub btnHome_Click(sender As Object, e As EventArgs) Handles btnHome.Click
frmHome.Show()
Me.Hide()
End Sub
Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
Provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
dataFile = "Z:\Desktop\players.mdb"
connString = Provider & dataFile
myConnection.ConnectionString = connString
myConnection.Open()
Dim str As String
str = "Insert into Items ([FirstName].[Surname].[TopNumber]) Values (?,?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
cmd.Parameters.Add(New OleDbParameter("FirstName", CType(txtFirstName.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Surname", CType(txtSurname.Text, String)))
cmd.Parameters.Add(New OleDbParameter("TopNumber", CType(txtTopNumber.Text, String)))
Try
cmd.ExecuteNonQuery()
cmd.Dispose()
myConnection.Close()
txtFirstName.Clear()
txtSurname.Clear()
txtTopNumber.Clear()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnClear.Click, btnHome.Click
txtFirstName.Clear()
txtSurname.Clear()
txtTopNumber.Clear()
End Sub
End Class
答案 0 :(得分:0)
错误消息:System.InvalidOperationException:'不允许 更改“ ConnectionString”属性。连接的当前状态 是开放的。'
之所以发生这种情况,是因为您正在打开连接,然后在引发异常时不关闭连接。这是为什么要在本地创建,使用和销毁此类对象的一个示例。使用连接对象的最正确方法是这样的:
Using connection As New OleDbConnection(connectionString)
'Use connection here.
End Using
这将每次创建一个新的连接对象,这是首选选项。它是一个轻量级的对象,实际的数据库连接处于较低级别。 Using
块还保证即使该块中引发了未处理的异常,连接也将关闭。
,并且在表格中打开的另一个错误是:查询值数量 和目标字段不同
发生这种情况是因为,正如我所说,您使用的点应使用逗号。 [FirstName].[Surname].[TopNumber]
被解释为具有限定表和架构的一列,而不是三列。