none
Visualizar campo autonumerico para saber cual es el nro de registro nuevo

    Question

  • Continuando con lo anterior y viendo el ejemplo de Leandro en

    [ADO.NET] Parte 6 - Ejemplos simples Campos Autonumerico (Identity)

     

    pude autonumerar mi insercion, pero si quiero ver el nro siguiente de operacion que esta disponible para ser insertado, cada vez que ejecute la pagina y despues de usar el boton guardar, en que evento seria? y como obtengo ese valor?

    *****************************************************************************************

    protected void btnGuardar_Click(object sender, EventArgs e)
        {
            string consulta = @"INSERT INTO [Ventas_Vehiculos]([Fecha_Venta],[Id_Empleado], [Cod_Auto], [Id_Contacto])" +
                               " VALUES (@fechaVta,@idempleado,@codauto,@idcontacto)"+"SELECT SCOPE_IDENTITY()";

            //int codop = Convert.ToInt32(txtCodOperacion.Text);//comentado porq se usa autonumeracion
            DateTime fechaVta = Convert.ToDateTime(txtFechaVta.Text);
            string idempleado = txtIDEmpleado.Text;
            int codauto = Convert.ToInt32(txtCodAuto.Text);
            int idcontacto = Convert.ToInt32(txtIdContacto.Text);

            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SyBAutomotoresConnectionString2"].ToString()))
            {
                   
                 SqlCommand comando = new SqlCommand(consulta, conn);

                //comando.Parameters.AddWithValue("@codop", codop);// comentado porq se usa autonumeracion
                comando.Parameters.AddWithValue("@fechaVta", fechaVta);
                comando.Parameters.AddWithValue("@idempleado", idempleado);
                comando.Parameters.AddWithValue("@codauto", codauto);
                comando.Parameters.AddWithValue("@idcontacto", idcontacto);

                conn.Open();
                comando.ExecuteNonQuery();

            }

        }

    Thursday, March 10, 2011 10:04 PM

Answers

  • hola

    el valor podrias obtener a modo informativo, ya que sera la tabla al momento del insert quien generara el valor real

    pero para obtenerlo usa el Max()

    SELECT Max(Id_Contacto) As UltimoId FROM [Ventas_Vehiculos]

    eso si, si usas el identity no debes apsarle este valor a la tabla

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, March 10, 2011 10:19 PM
  • ok entonces es como comente, usa el Max() de sql para recuperar el ultimo valor que se encuantra en la tabla para ese id

    public int GetMaxId()
    {

        using (SqlConnection cn = new SqlConnection("connection string")) {
            cn.Open();

            string query = "SELECT Max(Id_Contacto) As UltimoId FROM [Ventas_Vehiculos]";
            SqlCommand cmd = new SqlCommand(query, cn);

            return Convert.ToInt32(cmd.ExecuteScalar());

        }

    }

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, March 10, 2011 11:38 PM

All replies

  • hola

    el valor podrias obtener a modo informativo, ya que sera la tabla al momento del insert quien generara el valor real

    pero para obtenerlo usa el Max()

    SELECT Max(Id_Contacto) As UltimoId FROM [Ventas_Vehiculos]

    eso si, si usas el identity no debes apsarle este valor a la tabla

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, March 10, 2011 10:19 PM
  • Si es que solo lo necesito a modo de informacion para el usuario a modo de visualizacion cuando abro la pagina o despues del boton guardar para que sepa el usuario cual es el nro nuevo, pero solo es verlo en un textbox o label.
    Thursday, March 10, 2011 10:30 PM
  • ok entonces es como comente, usa el Max() de sql para recuperar el ultimo valor que se encuantra en la tabla para ese id

    public int GetMaxId()
    {

        using (SqlConnection cn = new SqlConnection("connection string")) {
            cn.Open();

            string query = "SELECT Max(Id_Contacto) As UltimoId FROM [Ventas_Vehiculos]";
            SqlCommand cmd = new SqlCommand(query, cn);

            return Convert.ToInt32(cmd.ExecuteScalar());

        }

    }

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, March 10, 2011 11:38 PM
  • Gracias Leandro me anduvo asi:

    protected void Page_Load(object sender, EventArgs e)
        {
            using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["SyBAutomotoresConnectionString2"].ToString()))
            {
                cn.Open();

                string query = "SELECT Max(Cod_Operacion) As UltimoId FROM [Ventas_Vehiculos]";

                SqlCommand cmd = new SqlCommand(query, cn);

                //return Convert.ToInt32(cmd.ExecuteScalar());
                int valor = Convert.ToInt32(cmd.ExecuteScalar());
                txtCodOperacion.Text = Convert.ToString(valor);

    }

    }

    Tuesday, March 15, 2011 9:35 PM