Visual CSharp .NET - Buscar registro en un DataSet

   
Vista:

Buscar registro en un DataSet

Publicado por Marvin Emilson Pineda (10 intervenciones) el 30/06/2008 22:36:49
hola a todos...

soy completamente nuevo en CSharp, actualmente programo en VFP pero la intenciones es aprender CSharp y VBasic.

ahora, mi pregunta o necesidad de confirmar mi metodo es el siguiente.

he hecho un formulario de prueba para probar lo necesario para el desarrollo de una aplicación en CSharp, estoy utilizando Sqlconnection, DataAdapter, DataSet y BindingSource (para moverme entre los registros), tengo tambien un toolString si no me equivoco con el nombre donde tengo los botones para: ir al siguiente registro, anterior, ultimo y primero. como tambien los botones para agregar, Buscar, Nuevo registro, archivarlo, modificar, deshacer y cerrar el formulario...

hasta alli todo bien.

mi duda o problema es al programar el boton buscar ya que utilizando la propiedad Select() del DataSet lo que crea es un objecto Array DataRow con la información de todas las lineas que encontro segun el criterio de busqueda... me parece excelente ya que de alli se podria abrir otro formulario para que el usuario seleccione digamos el artículo que buscar y regresar al formulario que lo invoco... el problema es en este paso... me devuelve una lista de lineas encontradas pero no me dice en que posición estan estas lineas para poder mover el puntero hasta la linea seleccionada con el BindingSource.Position = x

¿como obtengo la posición del registro seleccionado de la lista encontrada?

ahora!!!.. buscando y leyendo he encontrado y probe crear un DataView y buscar en el DataView el cual si funciona bien, me devuelve la posición de la busqueda usando dv.Sort = "Descripcion" y dv.Find("Nombre del articulo")

la cuestion es?, estoy haciendo bien en crear el DataView para buscar y obtener la posicion de tal registro o tendria que cambiar de objectos para manipular la información en el formulario?

trate de mover de posición un registro utilizando el DataTable pero no funciono con el BindingSource se ha hecho facil... aunque les dire que vi un código por alli pero me podria funcionar con el DataTable pero es bueno aprender hacerlo de varias maneras...

espero haberme dado a entender con este testamento.

Saludos y en espera de una buena recomendación.
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

RE:ya encontre la respuesta

Publicado por Marvin Emilson Pineda (10 intervenciones) el 01/07/2008 16:22:54
Gracias "compañeros" del foro por su pronta respuesta, pero ya me dio tiempo de leer y ya encontre la respuesta a mi duda.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

RE:Buscar registro en un DataSet

Publicado por Eduardo (1 intervención) el 06/03/2009 20:10:52
Hi.

No se para que quieres la posición del registro de la Tabla.
Si lo que quieres es buscar un registro o un array de registros de la tabla usa el Select.

Te va a regresar un array de Rows(), si lo que quieres es modificar la información de la Tabla, modifica el Row correspondiente del array, no tienes que modificar la Tabla.

O sea que si tienes un select parecido a este:

MisRows()=MiTabla.Select("IdUsuario = 10")

En MisRows() tendrás un array con un solo elemento, dado que se supone solo tienes un usuario con ID = 10

Para cambiar el Nombre del usuario 10 sería así:

MisRows(0).Item("Nombre")="Nuevo Nombre"

Y listo, en la Tabla el usuario con ID = 10 ya tendrá un nuevo nombre.

Por que?, Muy sencillo, porque el array no tiene copias de los Rows de la Tabla, sino referencias a estos Rows, así que si eliminas (MisRows(0).Delete) o modificas los Rows del array en realidad los estarás modificando en la Tabla.

Solo te faltaría usar un DataAdapter para actualizar la Base de Datos y, claro, hacer el AcceptChanges para no duplicar información.

Espero te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar registro en un DataSet

Publicado por Marvin Emilson Pineda (10 intervenciones) el 10/03/2009 04:16:51
Hola Eduardo...

gracias x responder hasta hoy.... jejejeje, el objetivo de la pregunta era crear una busqueda incremental, asi cuando el usuario va digitanto letra por letra se va moviendo el cursor en el DataGridView según vaya concordando la busqueda con la información en la tabla...

como bien tu dices tabla.Select() devuelve en DataRow() Array, esto me crea array DataRow() con el criterio de busqueda entonces como es una busqueda incremental solo necesito la primera fila del datarow() ahora!!!!.... para obtener la posicion de esta fila para mover el BindingSource sea hace con Tabla.Rows.IndexOf(DataRow)...

pero gracias de todos modos por tu respuesta.

saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar registro en un DataSet

Publicado por Marvin Emilson Pineda (10 intervenciones) el 10/03/2009 04:19:29
Hola Eduardo...

gracias x responder hasta hoy.... jejejeje, el objetivo de la pregunta era crear una busqueda incremental, asi cuando el usuario va digitanto letra por letra se va moviendo el cursor en el DataGridView según vaya concordando la busqueda con la información en la tabla...

como bien tu dices tabla.Select() devuelve en DataRow() Array, esto me crea array DataRow() con el criterio de busqueda entonces como es una busqueda incremental solo necesito la primera fila del datarow() ahora!!!!.... para obtener la posicion de esta fila para mover el BindingSource sea hace con Tabla.Rows.IndexOf(DataRow)...

pero gracias de todos modos por tu respuesta.

saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Codigo para un Boton de busqueda

Publicado por roxana (2 intervenciones) el 15/05/2009 07:16:39
Hola a todos!
Soy completamente nueva en el ambito de c sharp y web
mi problema es que necesito hacer la busqueda de un registro la verdad es que no se como hacerlo.

estoy haciendo una pagina web en aspx utilizando codigo de c sharp (visual studio 2008)

Necesito su ayuda se lo agradeceria mucho si me ayudaran me urge realizar esta busqueda

saludos
les agradeceria de corazon si me apoyaran en el codigo gracias bye y cuidense
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Codigo para un Boton de busqueda

Publicado por roxana (2 intervenciones) el 15/05/2009 07:20:00
Hola a todos!
Soy completamente nueva en el ambito de c sharp y web
mi problema es que necesito hacer la busqueda de un registro la verdad es que no se como hacerlo.

estoy haciendo una pagina web en aspx utilizando codigo de c sharp (visual studio 2008) NO ESTOY UTILIZANDO NINGUN GRIDVIEW.

Necesito su ayuda se lo agradeceria mucho si me ayudaran me urge realizar esta busqueda

saludos
les agradeceria de corazon si me apoyaran en el codigo gracias bye y cuidense
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar registro en un DataSet

Publicado por Izel (1 intervención) el 21/06/2010 19:21:29
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
datos.Clear()
Dim query As String = "select*from Clientes where Nombre like @n or Id=@Id"
Adapter = New OleDb.OleDbDataAdapter(query, con)
Adapter.SelectCommand.Parameters.Add(New OleDb.OleDbParameter("@Nombre", OleDb.OleDbType.VarChar, 20))
Adapter.SelectCommand.Parameters("@Nombre").Value = TextBox1.Text
Adapter.SelectCommand.Parameters.Add(New OleDb.OleDbParameter("@Id", OleDb.OleDbType.VarChar, 6))
Adapter.SelectCommand.Parameters("@Id").Value = TextBox1.Text
Adapter.Fill(datos, "Clientes")
DataGridView1.DataSource = datos
DataGridView1.DataMember = "Clientes"

Catch ex As Exception
MsgBox("Error, verifique su busqueda")
End Try
End Sub

Esta en VisualBasic es para buscar un registro y mostrarlo en un datagrid.....Espero les sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como buscar un registro en BD access utilizando c#

Publicado por byron lee byronlee26@gmail.com (1 intervención) el 22/10/2012 21:20:20
miren mi error es que yo quiero saber como buscar un registro pero que cuando yo le de la comtraseña del usuario me mande los registro pero yo utiliso es una base de datos en access y c#
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar registro en un DataSet

Publicado por espublimagen (1 intervención) el 15/10/2010 00:25:07
desarrollo paginas web,
Tiendas virtuales,
profesionales, catalogos virtuales,
soporte gratis,
web economico, empresarial, elegante, multimedia,
php, hosting y dominio,
Empresa de desarrollo Web, diseño web 3d, sistemas
facturacion, software, solucion, informatica integral,
tecnologia integral automatizado, programacion
http://www.imag1.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar