Visual Basic.NET - Error al recoger datos en combo

   
Vista:

Error al recoger datos en combo

Publicado por astrow (24 intervenciones) el 23/03/2009 21:50:53
Buenas:

Tengo una aplicacion en la que hay 2 combos uno que se llama cbAreaFP1, que recoge de la base de datos areafp1, el campo areafp1,

La estructura de areafp1 es esta

idareafp1 : Int
areafp1: Varchar(100)

Luego hay otro combo que se llama fp1, la cual recoge de la base de datos fp1

La estructura de la tabla fp1 es esta

idfp1: Int
idareafp1: int
fp1: Varchar(100)

Lo que tengo que hacer es que si tengo esto en las base de datos

AREAFP1

idareafp1: 1
areafp1: "AAAAA"

idareafp1: 2
areafp1: "BBBB"

FP1

idfp1: 1
idareafp1: 1
fp1 ="AAAA1"

idfp1: 2
idareafp1: 1
fp1 ="AAAA2"

idfp1: 3
idareafp1: 2
fp1 ="BBBB11111"

Y lo que tiene que hacer es que si en el combo AreaFP1, tiene AAAAA en el combo de FP1 debe aparecer AAAA1 y AAAA2

Aqui os pongo el codigo que utilizo, la carga de AreaFp1 si lo hace bien el problema es una vez selecciono da un error

Invalid attemp to access a field before calling Read()

Private Sub CargarAreaFP1()
Try
Dim oAreaFP1 As New MySqlConnection
oAreaFP1.ConnectionString = "Server=localhost;Database=cv;Uid=root;Pwd=root;"
Dim oCommandAreaFP1 As New MySqlCommand("Select * from areafp1 order by areafp1", oAreaFP1)
Dim oDataAreaFP1 As MySqlDataReader
oAreaFP1.Open()
oDataAreaFP1 = oCommandAreaFP1.ExecuteReader
While oDataAreaFP1.Read
Me.cbAreaFP1.Items.Add(oDataAreaFP1("areafp1"))
End While
oDataAreaFP1.Close()
oAreaFP1.Close()
Catch ex As Exception
MsgBox("Se ha(n) producido errore(s)" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Error(es)")
End Try
End Sub

Private Sub cbAreaFP1_DropDownClosed(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbAreaFP1.DropDownClosed
Try
Dim oFP1 As New MySqlConnection
oFP1.ConnectionString = "Server=localhost;Database=cv;Uid=root;Pwd=root;"
Dim oCommandIdAreaFP1 As New MySqlCommand("Select idareafp1 from areafp1 where areafp1='" & Me.cbAreaFP1.Text & "'", oFP1)
MsgBox(Me.cbAreaFP1.Text)
Dim oDataIdAreaFP1 As MySqlDataReader
oFP1.Open()
oDataIdAreaFP1 = oCommandIdAreaFP1.ExecuteReader
Dim OCommandFP1 As New MySqlCommand("Select * from fp1 where idareafp1='" & oDataIdAreaFP1("idareafp1") & "'", oFP1)
Dim oDataFP1 As MySqlDataReader
oDataFP1 = OCommandFP1.ExecuteReader
While oDataFP1.Read
Me.cbFP1.Items.Add(oDataFP1("fp1"))
End While
oDataIdAreaFP1.Close()
oDataFP1.Close()
oFP1.Close()
Catch ex As Exception
MsgBox("Se ha(n) producido errore(s):" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Error(es)")
End Try
End Sub

Gracias y perdon
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder