QSqlQuery - 使用'参数计数不匹配'准备失败

Ser*_*dis 4 sql qt

以下代码创建一个表,并使用数据填充数据库.当运行下面的代码,我收到一个错误'Parameter count mismatch'query.exec().但是,如果我使用注释行代码,一切正常.我如何滥用准备功能?

QSqlQuery query;
if (query.exec("CREATE TABLE Users ( u_ID INT IDENTITY(1,1) PRIMARY KEY, cName varchar(25) UNIQUE )"))
{
    for (int i=1;i<=100;++i)
    {
        QString uName;
        uName = "user" + QString::number(i);
        query.prepare("INSERT INTO Users (cName) VALUES(':UNAME')");
        query.bindValue(":UNAME",uName);
        query.exec();
        //query.exec("INSERT INTO Users (cName) VALUES('"  + uName +  "')");
        if (query.lastError().isValid()){
            QMessageBox::information(0,"ERR!",query.lastError().text());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*Mat 6

只需使用:

query.prepare("INSERT INTO Users (cName) VALUES(:UNAME)");
Run Code Online (Sandbox Code Playgroud)

即不引用绑定变量.