2017-03-20 11 views
0
CMD = New SqlCommand("Select * From Jenis where KodeJenis='" & CBjenis.Text & "'", CONN) 

RD = CMD.ExecuteReader() 
CONN.Open() 
RD.Read() 

If RD.HasRows = True Then 
    TextBox2.Text = RD.Item(1) 
Else 
    MsgBox("Kode jenis ini tidak terdaftar") 
End If 

どのような問題?このコマンドに関連付けられているオープンされたデータ・レディアがすでにあります。これは最初にクローズする必要があります。 vb.net 2010

+0

データベースへの以前の接続を閉じてください。完全なエラーログとクラスの目的を入力してください。 –

+0

1番目:リーダーを呼び出す前に接続を開こうとします。 2番目:終了後に読者を閉じます(多分接続も可能です)。 – muffi

答えて

0

Using End Usingシンタックスを使用して、未接続の接続を回避してください。

Dim rd As SqlDataReader 
     Using CMD = New SqlCommand 
      CMD.CommandText = "Select * From Jenis where KodeJenis='" & CBjenis.Text & "'" 
      CMD.CommandType = CommandType.Text 
      CMD.Connection = CONN 
      CMD.Connection.Open() 
      rd = CMD.ExecuteReader 

      If rd.Read() Then 
       TextBox2.Text = rd.Item(1) 
      Else 
       MsgBox("Kode jenis ini tidak terdaftar") 
      End If 
     End Using 
    End Sub 
関連する問題