Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 05-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
es que el AS Total implica que lo dejara creo, en una variable Total que no tienes definida

yo por ejemplo para un Stored Procedure que hice hace 2 dias es asi, puede que te arroje algo de luz porque es algo parecido

Código:
DELIMITER $$

USE `BASE_DE_DATOS_A_USAR`$$

DROP PROCEDURE IF EXISTS `Stardust_Players_Conected`$$

CREATE DEFINER=`USUARIOBD`@`%` PROCEDURE `Stardust_Players_Conected`()
BEGIN
    DECLARE suma_total DECIMAL(10, 0);
    -- Sumar los valores de campo_a_sumar cuando condicion_campo es 1
    SELECT COALESCE(SUM(status_online), 0) INTO suma_total
    FROM STARDUST_BDUsers
    WHERE status_online = 1;
    -- Insertar el resultado en la tabla resultados_suma
    TRUNCATE TABLE STARDUST_TOTAL_PLAYERS_CONECTADOS;
    INSERT INTO STARDUST_TOTAL_PLAYERS_CONECTADOS (NUM_PLAYERS, Fecha)
    VALUES (suma_total, CURDATE());
    END$$

DELIMITER ;
como ves, el DECLARE suma_total es lo que seria tu Total que no encuentra

si "suma_total" es con decimales lo declaramos (por ejemplo con 2 decimales) como DECLARE suma_total DECIMAL(10, 2);

el COALESCE es por si no tiene valor ese campo o registro (NULL) creo que lo pone como 0

seria algo asi para pasarlo al TLabel o TEdit

Código:
void PasarSumaTotalAMyLabel() {
    // Supongamos que tienes un componente TMyQuery llamado MyQuery
    MyQuery->SQL->Clear();
    MyQuery->SQL->Add("SELECT SUM(Importe) INTO Total FROM CuentasPorCobrar");  // Tu consulta SQL
    MyQuery->Open();  // Ejecuta la consulta

    // Verificamos si hay resultados
    if (!MyQuery->Eof) {
        // Extraer el valor de 'Total'
        double sumaTotal = MyQuery->FieldByName("Total")->AsFloat;

        // Convertir el valor a texto y asignarlo al TLabel
        Label1->Caption = FloatToStr(Total);
    } else {
        Label1->Caption = "No hay resultados";  // En caso de no obtener resultados
    }

    MyQuery->Close();
}
TEN EN CUENTA QUE EL CAMPO Importe tiene la I en mayuscula en la definicion de la Tabla y eso creo que importa porque diferencia mayusculas de minusculas

Este tipo de consulta devuelve directamente la suma de un campo llamado campo en la tabla tu_tabla, y puedes extraer el valor de suma_total directamente desde el conjunto de resultados sin declarar nada en SQL.

Código:
// Asumiendo que tienes un componente TMyQuery llamado MyQuery
MyQuery->SQL->Clear();
MyQuery->SQL->Add("SELECT SUM(campo) AS suma_total FROM tu_tabla");  // La consulta SQL
MyQuery->Open();  // Ejecuta la consulta y abre el conjunto de resultados

if (!MyQuery->Eof) {  // Asegurarse que hay resultados
    double sumaTotal = MyQuery->FieldByName("suma_total")->AsFloat;  // Recuperar el resultado de la suma
    Label1->Caption = FloatToStr(sumaTotal);  // Mostrar en el Label
}

Última edición por navbuoy fecha: 05-10-2024 a las 12:07:08.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Seleccionar un Dato en un DBGrid y Pasarlo a Otro. hondaalberto Varios 3 21-12-2010 21:46:27
Funcion o componente para calcular el md5? flystar Varios 8 05-08-2010 13:56:17
Funcion del componente Gauge RockFaster Varios 1 23-09-2008 23:23:42
Programa al pasarlo a otro pc mancurnino Varios 5 26-02-2008 23:12:53
Asignar una tecla de funcion a un componente CoCaInE Varios 2 19-06-2007 10:05:08


La franja horaria es GMT +2. Ahora son las 21:48:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi