none
Obtener el ultimo registro especifico de una tabla

    Question

  • Hola quisiera saber como devolveria el ultimo registro de una campo por ejemplo "ID" que seria puros enteros? saludos
    Thursday, September 23, 2010 5:39 PM

Answers

All replies

  • Hola.

    Sería más o menos así:

    select top 1 * from MiTabla order by ID desc

    Si no te vale, nos dices.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    Thursday, September 23, 2010 6:01 PM
    Moderator
  • Gracias, pero para que me muestre en el texboxt lo tengo asi, me da error el siguiente error "Error    1    Un valor de tipo 'System.Data.SqlClient.SqlCommand' no se puede convertir en 'String '
    "

     

     

    Imports System.Data.SqlClient
    Public Class Form3

        Dim strCon As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=F:\SSC1\SSC1\PRUEBA.MDF;" + "Initial Catalog=Prueba;  Integrated    
          Security=True;User Instance=True"

        Dim consql As New SqlConnection(strCon)

        Dim Auto As New SqlCommand("select top 1 * from Recepcion order by ID_Recepcion desc", consql)

        Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TextBox1.Text = Auto

        End Sub
    End Class
    Thursday, September 23, 2010 7:05 PM
  • Hola.

    Sin ser ningún experto, creo que no estás realizando bien la operación. Tendrías que hacer algo como:

    Dim consql as SqlConnection
    Dim comm as SqlCommand
    
    consql = New SqlConnection(strCon)
    comm = New SqlCommand("select top 1 * from Recepcion order by ID_Recepcion desc", consql)
    
    Y luego abrir la conexión y lanzar el comando.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    Thursday, September 23, 2010 7:22 PM
    Moderator
  • hola ,

    Esta es tu solucion prueba y me avisa ok 

     

     

      Dim cn As New SqlConnection("conection")

            Dim cmd As New SqlCommand("select top 1 * from Recepcion order by ID_Recepcion desc", cn)

            cn.Open()

            Dim read As SqlDataReader = cmd.ExecuteReader()

     

            If read.HasRows Then

     

                Me.TextBox1 = read("compo")

            End If

    un saludo.

     


    Enmanuel Grullard@Developer ASP.NET
    Thursday, September 23, 2010 7:29 PM
  • tomando   el ejemplo de emanuel e qwalgrande :D

     

    Imports System.Data.SqlClient
    Public Class Form3
        Dim strCon As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=F:\SSC1\SSC1\PRUEBA.MDF;" + "Initial Catalog=Prueba;  Integrated Security=True;User Instance=True"
        Dim cn As New SqlConnection(strCon)

        Dim cmd As New SqlCommand("select top 1 * from Recepcion order by ID_Recepcion desc", cn)
        Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            cn.Open()
            Dim read As SqlDataReader = cmd.ExecuteReader()

            If read.HasRows Then

                Me.TextBox1 = read("ID_Recepcion")

            End If
          

        End Sub
    End Class

     

     

     

    me da un error este "Error de lectura porque no hay datos."   en TextBox1.Text = read("ID_Recepcion"), siendo que en ese campo ID_Recepcion tiene 2 registros 00000001 e 00000002

    Thursday, September 23, 2010 11:31 PM
  • tomando   el ejemplo de emanuel e qwalgrande :D

     

    Imports System.Data.SqlClient
    Public Class Form3
        Dim strCon As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=F:\SSC1\SSC1\PRUEBA.MDF;" + "Initial Catalog=Prueba;  Integrated Security=True;User Instance=True"
        Dim cn As New SqlConnection(strCon)

        Dim cmd As New SqlCommand("select top 1 * from Recepcion order by ID_Recepcion desc", cn)
        Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            cn.Open()
            Dim read As SqlDataReader = cmd.ExecuteReader()

            If read.HasRows Then

                Me.TextBox1 = read("ID_Recepcion")

            End If
          

        End Sub
    End Class

     

     

     

    me da un error este "Error de lectura porque no hay datos."   en TextBox1.Text = read("ID_Recepcion"), siendo que en ese campo ID_Recepcion tiene 2 registros 00000001 e 00000002


    Creo que deberías preguntar en el foro de desarrollo, porque la instrucción que ejecutas es correcta sintácticamente y si, como aseguras, la tabla contiene registros, no veo la razón por la cual te lance esa excepción
    Friday, September 24, 2010 7:23 AM