FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Muchas gracias a ambos!!
Las dos soluciones me dan errores (o problemas con el 'totalreg' o con el Fields[0]) ,xo sera debido a que no tuve en cuenta que la query tiene tambien un select, con lo que quedaria; select count (num_decimo) as totalReg from reserva where num_sorteo=:num_sorteo2 Me explico; deseo contar todos los décimos de lotería de la tabla "reserva" dado un numero de sorteo. La idea es introducir el numero de sorteo en el edit1 y que al darle a un botón salga en el edit2 el número que busco. Entonces, ya que he de leer de algún modo el num_sorteo, cómo quedaría el códogo del botón? Qué debo poner antes de la línea: edit2.Text := DMPrimitiva.Qinsertarjueves.fieldbyname('totalReg').AsString;? (por poner un ejemplo de vuestras soluciones) He probado con; Datamodule.Query.parambyname('num_sorteo').value:= edit1.text; Datamodule.Query.parambyname('num_sorteo2').value:= edit1.text; pero no me funciona. Muchas Gracias!! |
#2
|
|||
|
|||
Lo que debes hacer es lo siguiente:
utilizar un componente TQuery, y en el evento Onclick de tu botón colocar lo siguiente: with Query1 do begin SLQ.Close; SQL.Clear; SQL.Add('select count (num_decimo) as totalReg from reserva'); SQL.Add('where num_sorteo=:num_sorteo2'); ParambyName('num_sorteo2').AsInteger:=StrtoInt(Edit1.Text); //La funcion StrtoInt( ) depende del tipo de dato que sea tu parametro.. Open; Edit2.Text:=IntoStr(Query1['totalReg']); end;
__________________
Ing. LUIS FERNANDO ORJUELA BOGOTA - COLOMBIA |
#3
|
||||
|
||||
Quizá se me escape algo pero debería funcionar como lo tienes (con el segundo ParamByName). ¿Qué error te marca?
// Saludos |
#4
|
|||
|
|||
Ahora, utilizando tanto;
begin Close; SQL.Clear; SQL.Add('select count (num_decimo) as totalReg from reserva'); SQL.Add('where num_sorteo=:num_sorteo2'); DMPrimitiva.Query1.ParambyName('num_sorteo2').AsInteger:=StrToInt(Edit10.Text); //La funcion StrtoInt( ) depende del tipo de dato que sea tu parametro.. Open; Edit2.Text:=InttoStr(DMPrimitiva.Query1['totalReg']); end; como; DMPrimitiva.Qinsertarjueves.parambyname('num_sorteo').value:= edit10.text; DMPrimitiva.Qinsertarjueves.parambyname('num_sorteo2').value:= edit10.text; edit2.Text := DMPrimitiva.Qinsertarjueves.fieldbyname('totalReg').AsString; con Qinsertarjueves ('select count (num_decimo) as totalReg from reserva where num_sorteo=:num_sorteo2') el edit2 siempre da como resultado cero (cuando éste resultado no es el correcto porque tengo varios registros en la base de datos que contar). No se donde está el error, seguiré buscando. Muchas gracias a todos por vuestro interés!! |
#5
|
|||
|
|||
Muestranos la estructura de la tabla "reserva", es decir, el nombre de sus campos y el tipo de cada uno , pues parece ser que tienes mal construida la instrucción SELECT que le pasas al Query.........
__________________
Ing. LUIS FERNANDO ORJUELA BOGOTA - COLOMBIA |
#6
|
|||
|
|||
La estructura de la tabla RESERVA es la siguiente;
ABONADO ; Texto NUMERO_SORTEO ; Numerico NUMERO_DECIMO ; Numerico NUM_SEGURIDAD_DECIMO ; Numerico TIPO_SORTEO ; Texto Como Clave Primaria tengo los 4 primeros campos. Muchas Gracias!! |
#7
|
||||
|
||||
Cita:
|
#8
|
|||
|
|||
Lo siento xo cometí un error cuando envié mi mensaje anoche,la estructura de la tabla RESERVA es esta;
ABONADO ; Texto NUM_SORTEO ; Numerico NUM_DECIMO ; Numerico NUM_SEG_DECIMO ; Numerico TIPO_SORTEO ; Texto Disculpad. Muchas gracias a todos por vuestro interes!! |
#9
|
|||
|
|||
Hola a todos de nuevo!!
Al escribir; DMPrimitiva.Qinsertarjueves.parambyname('num_sorteo').value:= edit10.text; DMPrimitiva.Qinsertarjueves.parambyname('num_sorteo2').value:= edit10.text; edit2.Text := DMPrimitiva.Qinsertarjueves.fieldbyname('totalReg').AsString; con Qinsertarjueves ('select count (num_decimo) as totalReg from reserva where num_sorteo=:num_sorteo2') Me da un error pq dice que no encuentra el parámetro num_sorteo2. Si se lo añado a Qinsertarjueves (junto con num_sorteo) me da un error y no puedo ejecutar la aplicación. Alguna idea? Muchas Gracias a todos!! |
#10
|
||||
|
||||
¿¡Qué es esto!?
Para empezar, una instrucción como Qinsertarjueves ('select count (num_decimo) as totalReg from reserva where num_sorteo=:num_sorteo2') ni siquiera va a compilar. Si no pones el código tal y como lo estás usando difícilemente te podremos ayudar. Además primero dices que te da un error con esa instrucción de que no encuentra el parámetro y luego dices que "si se le añado a...". Pues ¿no era que ya lo tenías? Escribe con claridad cómo asignas la consulta SQL, cómo asignas los parámetros y en qué orden lo estás haciendo y ya veremos. // Saludos |
|
|
|