es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo asigno un valor de una consulta SQL a una variable? QT

void Registration::introductionDate(QString email){
    QSqlQuery *query = new QSqlQuery();
    int dailyCalorieIntake = query->prepare("SELECT dailyCalorieIntake FROM [dbo].[User] WHERE email = :email");
    query->bindValue(":email", email);
    int dailyProteinIntake = query->prepare("SELECT dailyProteinIntake FROM [dbo].[User] WHERE email = :email");
    query->bindValue(":email", email);
    int dailyIntakeOfCarbohydrates = query->prepare("SELECT dailyIntakeOfCarbohydrates FROM [dbo].[User] WHERE email = :email");
    query->bindValue(":email", email);
    int dailyIntakeOfFats = query->prepare("SELECT dailyIntakeOfFats FROM [dbo].[User] WHERE email = :email");
    query->bindValue(":email", email);
    float bmi = query->prepare("SELECT bmi FROM [dbo].[User] WHERE email = :email");
    query->bindValue(":email", email);
    if (!query->exec())
    {
        QMessageBox::critical(this, "Programm", query->lastError().text());
    }
}

days->getUi().proteinsEaten->setText("0/" + QString::number(dailyProteinIntake));
days->getUi().calorieEaten->setText("0/" + QString::number(dailyCalorieIntake));
days->getUi().carbohydratesEaten->setText("0/" + QString::number(dailyIntakeOfCarbohydrates));
days->getUi().fatsEaten->setText("0/" + QString::number(dailyIntakeOfFats));
days->getUi().bmiValue->setText("0/" + QString::number(bmi));

Necesito asignar un valor a mi variable utilizando QSqlQuery. El valor puede estar en la base de datos. A partir de ahí, necesito tomar el valor y asignarlo a mi variable. ¿Cómo hacerlo?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para asignar un valor a una variable usando QSqlQuery, puedes seguir los siguientes pasos:

    1. Crear un objeto QSqlQuery.
    2. Utilizar el método prepare del objeto QSqlQuery para especificar la consulta SQL a ejecutar.
    3. Vincular los parámetros requeridos utilizando el método bindValue del objeto QSqlQuery.
    4. Ejecutar la consulta SQL utilizando el método exec del objeto QSqlQuery.
    5. Si la ejecución de la consulta es exitosa, recuperar el valor utilizando el método de recuperación apropiado del objeto QSqlQuery (por ejemplo, value, stringValue, etc.).
    6. Asignar el valor recuperado a la variable.

    En el código proporcionado, las consultas SQL ya están preparadas y el parámetro de correo electrónico ya está vinculado. Para recuperar los valores de la consulta, puedes utilizar los siguientes fragmentos de código para asignar los valores a las variables correspondientes:

    • dailyCalorieIntake = query->value(0).toInt();
    • dailyProteinIntake = query->value(0).toInt();
    • dailyIntakeOfCarbohydrates = query->value(0).toInt();
    • dailyIntakeOfFats = query->value(0).toInt();
    • bmi = query->value(0).toFloat();

    Luego puedes utilizar estas variables para asignar los valores apropiados a los elementos de tu programa.

Comments are closed.