MySQL - Problema con saber el ultimo nuermo agregado en un campo, me limita a 9

 
Vista:

Problema con saber el ultimo nuermo agregado en un campo, me limita a 9

Publicado por Jesus Fuentes (2 intervenciones) el 10/01/2012 21:48:03
Buenas tardes amigos programados, hoy les tengo una duda en mi sistema,

Pues tengo este metodo, que me hace el llamado al ultimo valor ingresado en cierto campo en mi base de datos, lo cual siempre lo necesito para ir lo aumentando en la base de datos, pero este codigo me lee hasta el numero 9 y quisiera saber como hacer para que lea los demas numeros 10, 11, 12 en mysql


private void consulta_Codigo_Zapato()
{
string cad_conexion = "";
if (cad_conexion == "" && Txtcod_zap.Text != "")
{
cad_conexion = "Database=base_zapato;Data Source = localhost;User Id=root;Password=";
try
{
MySqlConnection myconexion = new MySqlConnection(cad_conexion);
string myconsulta = "SELECT * FROM `almacen`ORDER BY cod_zap DESC LIMIT 10;";

MySqlCommand mycomando = new MySqlCommand(myconsulta, myconexion);
myconexion.Open();
MySqlDataReader lector;
lector = mycomando.ExecuteReader();
if (lector.Read())
{
cz = int.Parse(lector.GetString(0));
}
}
catch (SystemException ex)
{
MessageBox.Show("ERROR DE CONEXION CON EL SERVIDOR:" + ex.Message);
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con saber el ultimo nuermo agregado en un campo, me limita a 9

Publicado por Eugeni (1 intervención) el 10/01/2012 22:35:38
buno varias cosas lo primero es que puedes activar el autoincrement del campo de tu tabla con lo que el incremento se realiza solo sin necesidad de tener que hacerlo manualmente.

en segundo lugar cuando haces la query en sql pones un limitante de 10 observa en tu string myconsulta el parametro LIMIT 10 , esto hace que únicamente te reporte los primeros 10 registros de tu tabla es decir de 0 a 9 por eso tienes ese problema, la solución es tan fácil como eliminar esa resticción.

espero que te haya sido útil, Eugeni
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con saber el ultimo nuermo agregado en un campo, me limita a 9

Publicado por Lord Voldemort (6 intervenciones) el 10/01/2012 23:06:56
Hola Jesus..

me imagino que el campo cod_zap no es numerico.

si haces la consulta "SELECT * FROM `almacen`ORDER BY cod_zap DESC" podras ver que los numeros 10, 11, 12 estan abajo... siendo que numericamente son mayores que 9, 8, 7 etc. pero como no es campo numerico entonces el orden no es como lo esperas quizas porque tu piensas en un orden numerico... a continuación te pego algo de Gonzalo explica con respecto a ordenar datos en campos tipo char..

.....
que si ordenas un CHAR, lo ordenará alfabéticamente, por lo que una lista ordenada de numeros guardados en un campo CHAR te daría este resultado:

1
10
11
13
1000
1188
2
3
34
38
38678
39
¿Están mal ordenados? No. Estan correctamente ordenados... en base a su orden alfabético.

volviendo entonces a tu situacion..

ahora si guardas
0009
0005
0003
0011
0007
0012
o sea llenado con ceros todo el ancho del campo entonces si funcionara tu consulta ordenada..

al hacer tu consulta...DESC
0012
0011
0009
0007
0005
0003

.... y para terminar si lo que quieres es sacar tu numero mayor pues pon solo Limit 1. pero cuando hallas arreglado tu asunto de cual es numero mayor... ya sea poniendo tu campo tipo numerico o tu campo alfanumerico pero bien llenado..


saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con saber el ultimo nuermo agregado en un campo, me limita a 9

Publicado por Jesus Fuentes (2 intervenciones) el 12/01/2012 03:46:58
Buenas amigos muchas gracias, ya resolví el problema

Cambie mis campos de varchar a int y marce la opcion de AUTOINCREMENT y cambie el codigo por este

SELECT MAX(CAMPO) FROM (TABLA)

Gracias por su ayuda..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar