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
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.
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.
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:
select id_empleado, (select count(*) from empleado where id_empleado < '1-9999-9999' ) + 1 as Indice
from empleado
where id_empleado = '1-9999-9999'
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:
Friend Function Obtener_Numero_Fila_Actual(ByVal Llave_Primaria As String, ByVal Nombre_Tabla As String, ByVal Valor_Llave As String) As Integer
Dim ds As New DataSet
Dim sqlinstruccion As String = "select (select COUNT(*) from " & Nombre_Tabla & " where " & Llave_Primaria & " < '" & Valor_Llave & "') + 1 as indice " & _
"from " & Nombre_Tabla & " " & _
"where " & Llave_Primaria & " = '" & Valor_Llave & "' "
Llenar_Ds(ds, sqlinstruccion)
Obtener_Numero_Fila_Actual = Convert.ToInt32(ds.Tables(0).Rows(0)(0).ToString())
End Function
Friend Function Obtener_Total_Filas(ByVal Nombre_Tabla As String) As Integer
Dim ds As New DataSet
Dim sqlinstruccion As String = "select COUNT(*) from " & Nombre_Tabla & ""
Llenar_Ds(ds, sqlinstruccion)
Obtener_Total_Filas = Convert.ToInt32(ds.Tables(0).Rows(0)(0).ToString())
End Function
Para asi llegar a esto:
lblposicion.Text = Obtener_Numero_Fila_Actual("id_empleado", "empleado", txtid_empleado.Text).ToString() & " de " & Obtener_Total_Filas("empleado").ToString()
Y ahora si me logre este efecto: 1 de 10
Un detailview :D
Saludos
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