![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Me parece que está claro:
Si lo llamas con el valor 1, que existe, entonces como aux_rand no es null aumenta in_random en 1 hasta que llega a 200+1 y sale, devolviendo 201 Sin embargo, cuando lo llamas con 2, que no existe, no lo encuentra, entonces aux_rand es null y sale con el valor pasado, el 2 en este caso.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
||||
|
||||
|
Si lo que quieres es simplemente el número siguiente al mayor existente, entonces vale con hacer algo simple como:
Y si no pueden existir repetidos entonces mejor un generador. Y si es otra cosa, entonces es que no me he enterado todavía porque después de comer me está dando sueño y voy a por un café... ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Exactamente !
.... pero eso no es lo que está programado !! Porque si el valor que le paso es '2', que no existe, y por lo tanto Aux_Rand es null, entonces correctamente sale. Pero si le paso '1', en la siguiente pasada por el bucle While, se incremeta 1 al 2, y debería de volver a comprobarlo, y ahora que el valor es 2 y no existe, me debería devolver 2 (!!) y no 201 ya que entra de nuevo en la suma !! ![]()
__________________
Piensa siempre en positivo ! |
|
#4
|
||||
|
||||
|
Acabo de leer tu último comentario.
El problema surge que hay muchos usuarios que acceden a esa tabla, y tengo que saber si cada usuario va a tener un número único. Para eso genero un número aleatorio cualquiera, y compruebo si existe ya previamente. Si no existe, perfecto, devuelvo ese mismo número aleatorio que le pasé de entrada, como salida. Pero si el número aleatorio (por p... casualidad) ya existiera, tengo que buscar otro que no exista para que cada usuario diferente tenga garantizado que su número obtenido es único en la tabla. Generalmente la tabla estará vacía, porque es una tabla para unos cálculos temporales, que después se muestran en un StringGrid. Una vez que salga del Form con ese StringGrid, los datos se vuelven a borrar de la tabla.
__________________
Piensa siempre en positivo ! |
|
#5
|
||||
|
||||
Por qué esta modificación, si ejecuto con el valor de entrada 1, entonces me devuelve 3 (!!! ) y si el valor de entrada es 2, entonces me devuelve 2 !!Parece como si no gestionase correctamente la Suma + 1 del parámetro de Entrada In_Random. Pero es que como ya dije anteriormente lo he probado incluso con variables propias del procedimiento, sin tocar la variable de entrada, y tampoco ....
__________________
Piensa siempre en positivo ! |
|
#6
|
||||
|
||||
|
Prueba esto:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
||||
|
||||
|
... ahora lo pruebo ....
... PEOR todavía .....
Si lo ejecuto con 1 de entrada, entonces el primer Select encuentra un valor, y suma 1 a la entrada. Correcto. El segundo Select busca un 2 en la base de datos, QUE NO EXISTE !. A pesar de eso, al parecer Aux_Rand is not null y suma otros 2 a Aux_Rand2, y me devuelve 4 !!! Por qué carajo el segundo select me devuelve un valor que no es null ???
__________________
Piensa siempre en positivo ! |
|
#8
|
||||
|
||||
|
Pues no sé qué tienes en tu tabla, a mí no me devuelve eso
![]() Si le paso 1, me devuelve 2. Si le paso 2, me devuelve 2. Si le paso 3, me devuelve 3. Si le paso 88, me devuelve 88. Tan sólo tengo el registro con valor '1' en la tabla.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#9
|
||||
|
||||
|
Pues YA ESTA !!!!
La solución es la que tu propones Casimiro !!! ![]() Hay que 'resetear' la variable a null para que funciona correctamente. En el mismo ejemplo que acabo de poner ahora último, si se 'resetea' de nuevo la variable a Null, entonces funciona también correctamente. ![]() .... pero 'lógicamente' no debería hacer falta, no ?? ![]() MUCHAS GRACIAS !!!
__________________
Piensa siempre en positivo ! |
|
#10
|
||||
|
||||
|
Voy a probar con fb2.1, es que tenía ahora mismo la 1.5 y lo he adaptado porque no funcionaba las comillas, el rows 1, etc.
Ahora vuelvo...
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Stored Procedure !!! | Ledian_Fdez | C++ Builder | 0 | 02-03-2010 14:01:29 |
| Stored Procedure | StartKill | MySQL | 2 | 27-08-2008 06:18:44 |
| Ver los Stored Procedure | tgsistemas | SQL | 0 | 06-04-2004 17:18:22 |
| Stored Procedure | tgsistemas | SQL | 1 | 27-02-2004 13:10:33 |
| problema con stored procedure | Markoz | Firebird e Interbase | 8 | 27-06-2003 13:46:31 |
|