能正常运行的代码:
QString sql("SELECT id, name, sex, vip, birthday, personal_id, telephone, postcode, ");
sql += "address, discount, balance, stifled ";
sql += "FROM customer WHERE name LIKE '%" +name+"%'"; // ******* 直接用这种方式拼接查询语句, 可以正常运行.
//qDebug() << sql;
bool result = false;
// 取得数据库连接, 绑定值, 然后插入数据库.
QSqlDatabase db = DBUtil::getDatabase(ok, error);
QSqlQuery query(sql, db);
result = query.exec();
DBUtil::operationLog(query, result, ok, error);
return DAOCustomer::extractCustomers(query, result, ok, error);
问题代码:
QString sql("SELECT id, name, sex, vip, birthday, personal_id, telephone, postcode, ");
sql += "address, discount, balance, stifled ";
sql += "FROM customer WHERE name LIKE '%:name%'"; // ******这里使用bindValue的方式, 查询语句却不能正常运行了, 不知道何故.
bool result = false;
// 取得数据库连接, 绑定值, 然后插入数据库.
QSqlDatabase db = DBUtil::getDatabase(ok, error);
QSqlQuery query(db);
query.prepare(sql);
query.bindValue(":name", name);
result = query.exec();
qDebug() << query.executedQuery();
DBUtil::operationLog(query, result, ok, error);
return DAOCustomer::extractCustomers(query, result, ok, error);