mysql qt bindvalue_Qt Sql bindValue与%

今天qq群里有人问了个有难度的sql问题(或许很没难度,呵呵, 可惜笔者基本上对sql一窍不通), 如下code:

———————————-

QString sql(”SELECT id, name “);

sql += “FROM customer WHERE name LIKE ‘%:name%’”;   //issue this line

bool result = false;

QSqlDatabase db = DBUtil::getDatabase(ok, error);

QSqlQuery query(db);

query.prepare(sql);

query.bindValue(”:name”, name);

result = query.exec();

———————————-

这里的bindValue并不能实现替换。 估计是%在字符串里被定义成了特殊的字符, 可能影响了bind的功能。 向专家咨询了一下, 得到了以下的解决方式:

QString sql(”SELECT id, name )”;

sql += “FROM customer WHERE name LIKE :name”;   //issue this line

bool result = false;

QSqlDatabase db = DBUtil::getDatabase(ok, error);

QSqlQuery query(db);

query.prepare(sql);

query.bindValue(”:name”, “%”+name+”%”);

result = query.exec();

———————————-

看上去应该能行。 正在实验, 稍后贴测试结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用QtMySQL注册账号,首先需要确保已经安装了Qt开发环境和MySQL数据库。 在Qt中使用MySQL数据库需要依赖MySQL驱动程序。可以通过在Qt的项目文件中添加MySQL驱动程序来实现。在pro文件中添加如下语句: ```cpp QT += sql QT += mysql ``` 在Qt中连接MySQL数据库,需要使用`QSqlDatabase`类。首先,需要创建一个数据库连接对象,并设置连接的数据库类型和连接名字: ```cpp QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setPort(3306); db.setDatabaseName("your_database_name"); db.setUserName("your_username"); db.setPassword("your_password"); ``` 接下来,打开数据库连接: ```cpp if (db.open()) { qDebug() << "Database connected!"; } else { qDebug() << "Failed to connect database!"; } ``` 要实现注册账号的功能,需要在数据库中创建一个用于存储用户信息的表。可以通过执行SQL语句来创建表: ```cpp QSqlQuery query; query.exec("CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(30), password VARCHAR(30))"); ``` 然后,可以使用`QSqlQuery`对象执行插入操作将用户信息写入数据库: ```cpp QString username = "your_username"; QString password = "your_password"; query.prepare("INSERT INTO users (username, password) VALUES (:username, :password)"); query.bindValue(":username", username); query.bindValue(":password", password); if (query.exec()) { qDebug() << "User registered!"; } else { qDebug() << "Failed to register user!"; } ``` 这样就实现了使用QtMySQL注册账号的功能。当然,还可以进一步完善代码,比如对输入的用户名和密码进行验证,以及显示注册成功或失败的提示信息等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值