Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: rob1104 en 20 Febrero 2008, 16:13 pm



Título: > Obtener Campo Determinado De Una Tabla Determinada mediante vb.net
Publicado por: rob1104 en 20 Febrero 2008, 16:13 pm
Hola a todos, me estoy volviendo loco y no encuentro solucion, ¿hay alguna forma de obtener el valor de un campo en especifico, similar a lo que en visual basic 6 es:
Código:
adodc1.recordset.fields("NombredelCampo")

Utilizo Visual Basic 2005 y MS Access con un BindingSource, pero cualquier forma es bienvenida.

Saludos


Título: Re: > Obtener Campo Determinado De Una Tabla Determinada mediante vb.net
Publicado por: 43H4FH44H45H4CH49H56H45H en 21 Febrero 2008, 04:36 am
BindingSource can to connect this way
Código:
Dim mic As SqlConnection = New SqlConnection("....")
Try
mic.Open
Dim dat As SqlDataAdapter = New _
SqlDataAdapter("Select campo from Table", mic)
Dim det As DataTable = New DataTable
dat.Fill(det)
Me.dataGridView1.DataSource = det
Finally
mic.Close
End Try
Generally applies


Título: Re: > Obtener Campo Determinado De Una Tabla Determinada mediante vb.net
Publicado por: Hadess_inf en 23 Febrero 2008, 04:12 am
Citar
Imports system.data.sqlclient

dim con as new sqlconnection("...")
dim da as sqldataadapter
dim dtb as data.datatable

sub form_load(...)
 da = new sqldataadapter("select * from usuario",con)
 dtb = new data.datatable
 da.fill(dtb)
 if dtb.rows.count <> 0 then
   dim a as integer
   for a = 0 to dtb.rows.count-1
      msgbox dtb.rows(a)("NOMBRE").tostring()
   end for
 end if
end sub

Donde:

'Libreria que usaras para realizar las conexiones a tu base de datos y demas. SI no agregas esto al inicio no podras usar: sqlconnection, sqldataadapter y por ende no podras hacer lo que deseas.
Imports system.data.sqlclient

'variable para tu conexion, aqui definiras los parametros, como servidor, base de datos, etc
dim con as new sqlconnection("...")
'Variable donde almacenaras la consulta que ingreses, es como el recordset del vb6
dim da as sqldataadapter
'Complemento del sqldataadapter, no es necesario que lo uses para este caso, pero a mi se me hace mas sencillo usarlo. Es una tabla, se te hara mas facil el uso de filas y columnas
dim dtb as data.datatable

'Se instancia el sqldataadapter y se le designa la consulta que se desea en este caso la consulta a la tabla usuario. Se requieren dos parametros: (cadena,con), donde cadena representa la consulta y con representa la cadena de conexion (previamente asignada).
da = new sqldataadapter("select * from usuario",con)

'Se instancia la tabla para poder usarla
dtb = new data.datatable

'Se llena la tabla dtb con los datos que retorna la consulta que contiene el adaptador da, en este caso la consulta es: "select * from usuario"
da.fill(dtb)

'Se verifica si la tabla tiene filas, con la propiedad rows.count, esta propiedad retorna cuantas filas tiene la tabla dtb, en el caso que si tenga se ejecuta el bloque de codigo.
if dtb.rows.count<>0 then

'COmo te podras dar cuenta, este es el contados.
for a = 0 to dtb.rows.count-1

'Este es el punto que necesitas, aqui vas a mostrar el campo que necesites de la consulta que hiciste en el sqldataadapter previamente, acontinuacion te explico la sintaxis, y los parametros: Tomaremos el siguiente ejemplo:
                  Campo Nombre
rows(0) --->  JUAN
rows(1) --->  JOSE LUIS
rows(2) --->  MARIELA
rows(3) --->  SILVIA

- rows(a) = rows indica la fila y (a) indica el indice, entonces si a = 2, rows(2) retornara la fila donde el campo nombre es MARIELA, pero aun falta designar que campo queremos que se muestre, en este caso el Nombre.
- rows(a)("nombre").tostring = despues de designar la fila de la cual queremos mostrar los datos, tambien debemos asignar el campo, esto se logra agregando: ("nombre").tostring, donde "nombre" representa el nombre del campo a mostrar y tostring es la funcion que convierte a cadena el campo seleccionado.
dtb.rows(a)("NOMBRE").tostring()

Saludos y espero que te sirva.