• Domingo 22 de Diciembre de 2024, 10:37

Autor Tema:  Problema con Autonumerico en C#  (Leído 2700 veces)

zuma

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Problema con Autonumerico en C#
« en: Jueves 15 de Julio de 2010, 19:00 »
0
Saludos a todos del foro en esta oportunidad necesito ayuda respecto de como insertar un contador Autonumerico en un textbox de mi formulario hecho en windowsform, lo estuve avanzando pero cada vez que le doy clic en el Boton Guardar de ese formulario en el textbox me sale la frase "Autonumerico" y en la tabla que corresponde al autonumerico se visualiza el numero 01 solo en la primera fila; es decir si yo ingreso en el formulario 03 registros en la tabla del autonumerico deberia aparecer 01, 02, 03. Pero se visualiza solamente en la primera fila "01" en las siguientes 02 filas aparece vacio.
Yo tengo lo siguiente:

public String generarcodigo()
    {
        DBsuma dbm = new DBsuma();
        SqlConnection con = new SqlConnection();
        SqlDataAdapter da = new SqlDataAdapter();
        DataSet ds = new DataSet();
        String codigo = "";

        try
        {
            con=dbm.getConexion();
            con.Open();
            SqlCommand cmd = new SqlCommand("spgenerarcodigo",con);
            cmd.CommandType = CommandType.StoredProcedure;
            da.SelectCommand = cmd;
            da.Fill(ds);
            con.Close();

            if (ds.Tables[0].Rows.Count > 0)
            {
                codigo = ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["idconta"].ToString();
                codigo = (Int32.Parse(codigo) + 1).ToString();
                if (Int32.Parse(codigo) < 10)
                {
                    codigo = "0" + codigo;
                }
            }
            else{
            codigo = "01";
            }
            return codigo;

Luego tengo:
try
        {
            con = dbm.getConexion();
            con.Open();
            SqlCommand cmd = new SqlCommand("crearcontador", con);
            parametros = cmd.Parameters.Add("@idconta", SqlDbType.Char);
            parametros.Value = vidconta;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.ExecuteNonQuery();
            con.Close();
            res = true;

Como se ve hay 02 procedimientos almacenados, uno para generar el codigo y el otro para crear el contador propiamente dicho, en la tabla del autonumerico el tipo de dato yo le puse como "char" si estoy mal por favor diganme como reestructurarlo.
En el evento clic del boton GUARDAR del formulario hice lo siguiente: llamo al metodo "generarcodigo" y en el segmento de codigo pongo txtcontar.Text = "Autogenerado"; sera esto que hace que siempre en el textbox aparece "Autonumerico" y no el correlativo logico. Espero me puedan guiar..Saludos