Usuario
Select Max en C#

Pregunta
-
Hola Amigos el dia de hoy les pido ayuda en una pequeña cosa q necesito lo q pasa es que necesito que cuando yo elija un numero de un dropdownlist1(ubicacion) y de otro dropdownlist2(caja) me de el numero mayor de una factura pero nose como hacer eso en c#asi ams o menos tenia.
-todo es con parametros:
- quiero que a lo q elija la ubicacion y la caja ya automaticamente en el textbox1 me aparesca el numero de factura.
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=localhost;Initial Catalog=lllll;Persist Security Info=True;User ID=llll;Password=lll";
SqlCommand cmdd = new SqlCommand(@"SELECT @valor=MAX(Rli_Fac_numero) FROM dbo.Com_Recaudacion_linea where Rli_Fac_ubicacion=@Ubicacion and Rli_Fac_caja=@Caja", conn);
cmdd.Parameters.Add("@valor", SqlDbType.VarChar, 20);
cmdd.Parameters["@valor"].Value = TextBox1.Text;
cmdd.Parameters.Add("@Ubicacion", SqlDbType.VarChar, 20);
cmdd.Parameters["@Ubicacion"].Value = this.Dpubicaci.Text;
cmdd.Parameters.Add("@Caja", SqlDbType.VarChar, 20);
cmdd.Parameters["@Caja"].Value = this.Dpcaj.Text;
conn.Open();
using (SqlDataReader reader = cmdd.ExecuteReader())
{
while (reader.Read())
TextBox1.Text = reader["@valor"].ToString();
reader.Close();
}
cmdd.ExecuteNonQuery();
conn.Close();espero me puedan ayudar de antamno muchas gracias.
Andres Bermudez
Todas las respuestas
-
Hola:
Podrias hacer una funcion como esta:
public static int MaxId() { using (SqlConnection sqlCon = new SqlConnection(ConfigurationManager.ConnectionStrings["CadenaDeConexion"].ToString())) { sqlCon.Open(); const string sqlAction = "Select Isnull(Max(NumFactura), 0) as IdMaximo From Tabla"; using (SqlCommand cmd = new SqlCommand(sqlAction, sqlCon)) { SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { return Convert.ToInt32(dr["IdMaximo"]); } return 0; } } }
Esta funcion la mandas a llamar en donde tu quieras y tomas el valor de esta manera:
TextBox1.Text = Convert.Tostring(MaxId());
Saludos desde Monterrey, Nuevo León, México!!!
- Editado JoséLuisGarcía viernes, 23 de agosto de 2013 17:17 edicion
-
Hola andres, si usas dropdownlist entonces estas pasando mal el parametro en ubicacion y caja...
cmdd.Parameters["@Ubicacion"].Value = this.Dpubicaci.Text;
cmdd.Parameters["@Caja"].Value = this.Dpcaj.Text;
Los valores en los dropdownlist deberias obtenerlos así
cmdd.Parameters["@Ubicacion"].Value = this.Dpubicaci.SelectedValue; cmdd.Parameters["@Caja"].Value = this.Dpcaj.SelectedValue;
Eso si los tienes como value.... si lo que quieres recuperar es el texto como tal, o sea lo que se muestra deberias hacer:
cmdd.Parameters["@Ubicacion"].Value = this.Dpubicaci.SelectedItem.Text;
cmdd.Parameters["@Caja"].Value = this.Dpcaj.SelectedItem.Text;Espero te sirva, Saludos
-