Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: estebanvr en 27 Marzo 2011, 01:23 am



Título: [Solucionado] ¿Como saber la posición de determinado registro VB.NET + MySql?
Publicado por: estebanvr en 27 Marzo 2011, 01:23 am
Hola, resulta que estoy elaborando cierto programa, y quiero implementar la funcion de que cuando el usuario navegue los registros de la BD por medio de textboxs , aparezca debajo algo como asi:

ejemplo:
2 de 10

donde 2 es el registro que el usuario tiene posicionado y 10 el total de registros de la tabla, el numero 2 se incrementara conforme el usuario pulse el boton de adelantar,

Mi problema radica en saber como obtener la posición del registro seleccionado,
Espero me puedan ayudar ya sea con en codigo o una consulta sql

Me ayudaría un montón si no se tuviera que implementar con datarows

Gracias por su Tiempo


Título: Re: ¿Como saber la posición de determinado registro VB.NET + MySql?
Publicado por: seba123neo en 27 Marzo 2011, 06:25 am
Hola, la verdad nunca necesite hacerlo, ya que siempre es mejor hacerlo con una grilla, que te muestra todos los registros, pero si necesitas hacerlo asi pues la verdad no tengo idea, se que se puede usar CurrencyManager para manejar la posicion de un datatable y posicionarlo donde quieras o obtener la posicion donde estas parado, con la propiedad llamada "Position", con un contador que vaya aumentando esa posicion o disminuyendo.

busca sobre eso, si queres te paso un ejemplo, pero buscalo.

saludos.


Título: Re: ¿Como saber la posición de determinado registro VB.NET + MySql?
Publicado por: .mokk. en 27 Marzo 2011, 07:31 am
Yo al igual nunca lo he ocupado, ya que comunmente utilizo en cada tabla ID, de autoincremento y asi identificar la posicion y ya con contar las filas que hay en tal tabla obtengo posicion y total de filas.


Título: Re: ¿Como saber la posición de determinado registro VB.NET + MySql?
Publicado por: estebanvr en 28 Marzo 2011, 04:52 am
Gracias por tomarse el tiempo para responder, y si, ya había investigado sobre currency manager, e incluso tenia ejemplos, pero investigando un poco mas me encontré con una consulta:

Código
  1.  
  2. select id_empleado, (select count(*) from empleado where id_empleado < '1-9999-9999' ) + 1 as Indice
  3. from empleado
  4. where id_empleado = '1-9999-9999'
  5.  

Esta Consulta lo que me da es el numero actual de x registro, y sé que existe una funcion en sql server (ROW_NUMBER) que en mysql nó, pero esta a mi parecer es mas genérica.Y la pude implementar de la siguiente manera:

Código
  1.  
  2.  Friend Function Obtener_Numero_Fila_Actual(ByVal Llave_Primaria As String, ByVal Nombre_Tabla As String, ByVal Valor_Llave As String) As Integer
  3.        Dim ds As New DataSet
  4.        Dim sqlinstruccion As String = "select (select COUNT(*) from " & Nombre_Tabla & " where " & Llave_Primaria & " < '" & Valor_Llave & "') + 1 as indice " & _
  5.                                        "from " & Nombre_Tabla & " " & _
  6.                                        "where " & Llave_Primaria & " = '" & Valor_Llave & "' "
  7.        Llenar_Ds(ds, sqlinstruccion)
  8.        Obtener_Numero_Fila_Actual = Convert.ToInt32(ds.Tables(0).Rows(0)(0).ToString())
  9.    End Function
  10.  
  11. Friend Function Obtener_Total_Filas(ByVal Nombre_Tabla As String) As Integer
  12.        Dim ds As New DataSet
  13.        Dim sqlinstruccion As String = "select COUNT(*) from " & Nombre_Tabla & ""
  14.  
  15.        Llenar_Ds(ds, sqlinstruccion)
  16.  
  17.        Obtener_Total_Filas = Convert.ToInt32(ds.Tables(0).Rows(0)(0).ToString())
  18.    End Function
  19.  
  20.  

Para asi llegar a esto:
Código
  1.  
  2. lblposicion.Text = Obtener_Numero_Fila_Actual("id_empleado", "empleado", txtid_empleado.Text).ToString() & " de " & Obtener_Total_Filas("empleado").ToString()
  3.  
  4.  

Y ahora si me logre este efecto: 1 de 10


Título: Re: [Solucionado] ¿Como saber la posición de determinado registro VB.NET + MySql?
Publicado por: Novlucker en 28 Marzo 2011, 12:29 pm
Un detailview :D

Saludos


Título: Re: [Solucionado] ¿Como saber la posición de determinado registro VB.NET + MySql?
Publicado por: ChavalChavito en 18 Abril 2011, 02:28 am
en el procedure (prc) ingresas la variable d cadena d los textbox q vas leyendo(todo esto en el evento dl mouse) y vas haciendo los select filtrado x la variable