c++ - 在 Qt 中使用 C++ 创建 mysql 触发器

标签 c++ mysql qt triggers

我正在尝试使用 Qt 为我的数据库创建一个 SQL 触发器,我需要有关分隔符的帮助。我在执行查询时没有问题,但是当涉及到像分隔符这样的 mysql 命令时,我该如何处理呢?我用过QSqlDatabase::addDatabase("MYSQL")连接驱动程序,除了 QSqlDatabase,我没有使用其他对象和 QSqlQuery .我的目标也是通过 qt 显式创建触发器,而不是通过驱动程序。 有人可以给我举个例子吗?

最佳答案

您应该使用 addDatabase 将数据库添加到使用驱动程序类型 MYSQL 和连接名称 myConnection 的数据库连接列表中。之后,您应该设置连接的数据库名称并打开它。然后你可以为触发器准备一个查询并执行它:

QSqlDatabase db = QSqlDatabase::addDatabase( "MYSQL","myConnection" );
db.setDatabaseName( "MydatabaseName" );
if( !db.open() )
{
    QMessageBox::warning(this, tr("Failed to connect!"), tr("Error connecting to database") );
}

QSqlQuery qry(db);

qry.prepare( "CREATE TRIGGER ins_sum BEFORE INSERT ON account "
             "FOR EACH ROW SET @sum = @sum + NEW.amount;" );

qry.exec();

关于c++ - 在 Qt 中使用 C++ 创建 mysql 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23484489/

相关文章:

MySQL - 从重复项中选择

c++ - 一起使用 SDL、OpenGL 和 Qt

c++ - 从 Qt 5.6 切换到 Qt 5.7 - 命名空间 std 中的 "no member ' make_unique'

c++ - 数组基址指针及其地址相同。为什么?

c++ - 通过 const_iterator 迭代 std::list

c++ - 构造函数 : Why does 'explicit' prevent assignment construction?

php - 按 FIELD() 使用字段名称排序

php - 将 opencart 从 1.5.6.4 升级到 2.x.x。给出 JSON 错误

c++ - 未定义的类引用

c++ - 从 Qt4 移植到 Qt5 时 Ctrl+U 组合键丢失