ええと...私は現在vb.netを使用して私の最後の年のプロジェクトをやっていると私はこのエラーが発生しました。 Im tryin 'エラーを修正するにはまだ成功しません。私は私のプロジェクトでデータベースのmsアクセスを使用します。私は 'dt'ステートメントの前にcon.Open()を入れて、 'cboProduct.Select'の後にcon.Close()を実行しますが、結果は同じです。本当に助けに感謝します。感謝:)接続が閉じられていません接続の現在の状態が開いています
'GLOBAL DECLARATIONS
Dim conString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Acer User\Documents\MAKLUMAT IVENTORI.accdb"
Dim con As OleDbConnection = New OleDbConnection(conString)
Dim adapter As New OleDbDataAdapter
Dim cmd As New OleDbCommand
Dim dt As New DataTable
Dim ds As New DataSet
Private Sub RefreshData()
dt = New DataTable
ds = New DataSet
ds.Tables.Add(dt)
adapter = New OleDbDataAdapter("Select * FROM product WHERE lab_kod='66'", con)
adapter.Fill(dt)
DataGridView1.DataSource = dt.DefaultView
labelID.Text = getAutoID()
lblLabCode.Text = "66"
cboProduct.Select()
Dim v_SQL As String = "SELECT * FROM kategori_product"
cmd = New OleDbCommand(v_SQL, con)
con.Open()
Dim v_dataReader As OleDbDataReader = cmd.ExecuteReader()
Dim v_dataTable As New DataTable
v_dataTable.Columns.Add("product_kod", Type.GetType("System.String"))
If v_dataReader.HasRows Then
While v_dataReader.Read
v_dataTable.Rows.Add(v_dataReader.GetString(0))
End While
cboProduct.DataSource = v_dataTable
End If
cboProduct.DisplayMember = "product_kod"
cboProduct.ValueMember = "product_kod"
v_dataReader.Close()
con.Close()
End Sub
'getAutoID()'とは何ですか?同じグローバル接続を使用していますか? – Crowcoder
自動番号に使用します。 IDラベルに数字を入れる必要はありません。うん。同じグローバル接続を使用しています。 –
次に、接続を開いたままにしていると思われます。その場合は、 'getAutoID'を終了する前に閉じてください。 – Crowcoder