Búsqueda en un DataTable

27/11/2005 - 12:53 por JMContreras | Informe spam
Hola, me gustaría que alguien me dijese cómo puedo hacer un find en una tabla
de SQL cuya clave principal posee un campo que es del tipo 'guid contador'.

Gracias y un saludo.

Preguntas similare

Leer las respuestas

#1 Carlos Durán Urenda
28/11/2005 - 15:47 | Informe spam
Hola

depende mucho de la forma como deseas aplicar la búsqueda...

Si por ejemplo, aun no tienes la tabla en memoria y deseas obtener uno o
varios registros especificos, lo mejor es configurar tu SelectCommand para
que leea dichos registros utilizando una condicion WHERE y parametros...

Ejemplo...
Dim Adapter as SQLDataAdapter("SELECT * From Empleados WHERE Puesto=?",
TuConexion)

With Adapter.SelectCommand.Parameters.Add(ParameterName,Valor)
.Tipe = ...
.Size=...
End With
Adapter.Fill (DS,"TablaEnCuestion")




o bien... si ya dispones de un DataTable, con los datos cargados en memoria,
deberás realizar la búsqueda utilizando un DataView

Dim DV as DataView= TuTabla.DefaultView
DV.Sort= "Puesto" ' establece como clave de ordenacion el campo Puesto
Dim i = DV.Find "Gernecia" ' obtienes la posicion del registro buscado
segun el orden establecido
' si no puede localizarlo te
devuelve un valor -1

otra posibilidad podria ser utilizar el método SELECT del DataTable
(suponiendo que tus datos ya estan en memoria)

dim DR( ) as DataRow=Tabla.Select ( "Puesto=Gerencia")
en este caso te devuelve un arreglo de DataRow que puedes modificar o
eliminar, segun sea el caso, y en realidad los estaras modificando o
eliminando directamente en la tabla, o bien puedes simplemente leer los
datos de arreglo y hacer una busqueda por medio de un ciclo en un espectro
de busqueda delimitado por la condicion del comando SELECT, en lugar de
hacer la búsqueda en toda la tabla


Espero te sirva, podras encontrar mas info en la ayuda del visual studio

Saludos
Carlos Durán











"JMContreras" escribió en el mensaje
news:
Hola, me gustaría que alguien me dijese cómo puedo hacer un find en una
tabla
de SQL cuya clave principal posee un campo que es del tipo 'guid
contador'.

Gracias y un saludo.

Respuesta Responder a este mensaje
#2 JMContreras
28/11/2005 - 22:26 | Informe spam
Cacharreando y mirando la ayuda encontré un ejemplo con un data view tal y
como me comentas en tu respuesta y es exatamente así como lo he hecho sólo
que una vez tengo la posición del registro buscado lo utilizo para cargar en
un datarow el registro entero y modificar los campos que me interesen.

Me quedo copia de las otras formas que me comentas por si me surge el caso
alguna vez.

Gracias y un saludo.

"Carlos Durán Urenda" escribió:

Hola

depende mucho de la forma como deseas aplicar la búsqueda...

Si por ejemplo, aun no tienes la tabla en memoria y deseas obtener uno o
varios registros especificos, lo mejor es configurar tu SelectCommand para
que leea dichos registros utilizando una condicion WHERE y parametros...

Ejemplo...
Dim Adapter as SQLDataAdapter("SELECT * From Empleados WHERE Puesto=?",
TuConexion)

With Adapter.SelectCommand.Parameters.Add(ParameterName,Valor)
.Tipe = ...
.Size=...
End With
Adapter.Fill (DS,"TablaEnCuestion")




o bien... si ya dispones de un DataTable, con los datos cargados en memoria,
deberás realizar la búsqueda utilizando un DataView

Dim DV as DataView= TuTabla.DefaultView
DV.Sort= "Puesto" ' establece como clave de ordenacion el campo Puesto
Dim i = DV.Find "Gernecia" ' obtienes la posicion del registro buscado
segun el orden establecido
' si no puede localizarlo te
devuelve un valor -1

otra posibilidad podria ser utilizar el método SELECT del DataTable
(suponiendo que tus datos ya estan en memoria)

dim DR( ) as DataRow=Tabla.Select ( "Puesto=Gerencia")
en este caso te devuelve un arreglo de DataRow que puedes modificar o
eliminar, segun sea el caso, y en realidad los estaras modificando o
eliminando directamente en la tabla, o bien puedes simplemente leer los
datos de arreglo y hacer una busqueda por medio de un ciclo en un espectro
de busqueda delimitado por la condicion del comando SELECT, en lugar de
hacer la búsqueda en toda la tabla


Espero te sirva, podras encontrar mas info en la ayuda del visual studio

Saludos
Carlos Durán











"JMContreras" escribió en el mensaje
news:
> Hola, me gustaría que alguien me dijese cómo puedo hacer un find en una
> tabla
> de SQL cuya clave principal posee un campo que es del tipo 'guid
> contador'.
>
> Gracias y un saludo.
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida