• Lunes 23 de Diciembre de 2024, 18:53

Autor Tema:  Llenar una matriz con un campo de una tabla  (Leído 8287 veces)

jotae

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Llenar una matriz con un campo de una tabla
« en: Lunes 7 de Febrero de 2011, 17:45 »
0
Podrían ayudarme para llenar una matriz con un campo de una tabla, por favor?
Trabajo con Visual Basic 2005 Express


El código base:

Código: vb.net
  1. Me.con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & "c:socios.mdb; Persist Security Info=False"
  2.  con.Open()
  3. vtda = New OleDbDataAdapter("Select nombre from inscritos where status= 1 ", con)
  4. Dim oCB As OleDbCommandBuilder = New OleDbCommandBuilder(dta)
  5. dst = New DataSet
  6. dta.Fill(dst, "inscritos")
  7. vActivos = Me.dst.Tables("inscritos").Rows.Count
  8.  

De esta DB necesito llenar una matriz con el campo nombre quizá por medio de un Datareader pero sinceramente no sé cómo hacerlo.

Agradecería mucho su ayuda porque soy novato en esto. Gracias!!!

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re: Llenar una matriz con un campo de una tabla
« Respuesta #1 en: Martes 8 de Febrero de 2011, 06:33 »
0
Código: vb.net
  1. Me.con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & "c:socios.mdb; Persist Security Info=False"
  2.  con.Open()
  3. vtda = New OleDbDataAdapter("Select nombre from inscritos where status= 1 ", con)
  4. Dim oCB As OleDbCommandBuilder = New OleDbCommandBuilder(dta)
  5. Dim dt As  New  DataTable
  6. Dim ArrayNombres As New ArrayList
  7. dta.Fill(dt, "inscritos")
  8.  
  9. 'Aquí se agregan a nuestro Array..
  10. For Each dr As DataRow In dt.Rows
  11. ArrayNombres.Add(dr(0).ToString())
  12. Next
  13.  
  14.  

Saludos! espero te sirva..
@gabio87

jotae

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Llenar una matriz con un campo de una tabla
« Respuesta #2 en: Martes 8 de Febrero de 2011, 08:10 »
0
Gracias por responderme. Me da un error en la línea marcada. El código quedó así:

Código: vb.net
  1. Private Sub tbMensualidad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbMensualidad.Click
  2.    ' la base de datos ya está abierta arriba....
  3.     dta = New OleDbDataAdapter("Select nombre from inscritos where status= 1 ", con)
  4.     Dim oCB As OleDbCommandBuilder = New OleDbCommandBuilder(dta)
  5.     Dim dt As New DataTable  
  6.     Dim ArrayNombres As New ArrayList
  7.     dta.Fill(dt, "inscritos") ' **** error en esta linea*****
  8.     'Aquí se agregan a nuestro Array..
  9.     For Each dr As DataRow In dt.Rows
  10.       ArrayNombres.Add(dr(0).ToString())
  11.     Next
  12.    
  13.   End Sub
  14.  


El error:

El objeto no es ADODB.RecordSet ni ADODB.Record.
Nombre del parámetro: adodb

Saludos y gracias de nuevo.

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re: Llenar una matriz con un campo de una tabla
« Respuesta #3 en: Martes 8 de Febrero de 2011, 16:29 »
0
Algo estás haciendo mal con respecto a tu conexión con la BD, con el código que tenias anteriormente no te producia ningún error?...

te recomiendo que leeas los siguientes links
http://www.elguille.info/NET/ADONET/ejemploSQL.htm
http://social.msdn.microsoft.com/Forums ... ab3d4062aa
http://msdn.microsoft.com/es-es/library ... 71%29.aspx


Por cierto, igual puedes usar Google, solo pones a buscar "Como conectar VB.NET con SQL Server" , o cosas similares, tu problema ahora es con la BD, tu duda anterior espero haya quedado resuelta saludos! :)
@gabio87

jotae

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Llenar una matriz con un campo de una tabla
« Respuesta #4 en: Martes 8 de Febrero de 2011, 22:12 »
0
Gracias pero la conexion funciona perfectamente. El problema no es la DB. Si quito las lineas del array todo trabaja perfecto. Realmente el programa está funcionando hace un año y no hay ni el más mínimo problema en la base de datos pero hay que hacer una modificación y para ello se requiere este array. De todas formas, gracias por la intención pero no me funciona. Seguiré intentando la solucion. Saludos.-

jotae

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Llenar una matriz con un campo de una tabla
« Respuesta #5 en: Miércoles 9 de Febrero de 2011, 19:20 »
0
Por si le sirve a alguno, esta es la solución a mi problema en lugar del array:

Código: Visual Basic
  1. Dim Cl_Nombres As New Collection
  2.     For Each Dt_Row As DataRow In dst.Tables("inscritos").Rows
  3.       Dim Dt_Nombre As String = Dt_Row.Item("nombre").ToString
  4.       Cl_Nombres.Add(CObj(Dt_Nombre))
  5. Next
  6.  

Gracias gabio2 por tu ayuda.    :good: