我想创建表到mysql数据库。我能够成功打开数据库但是包含create table命令的查询不起作用? 如果有人知道,请告诉我,我将不胜感激。
mydb = QSqlDatabase::addDatabase("QMYSQL");
mydb.setDatabaseName("mylogin");
mydb.setUserName("root");
mydb.setPort(3306);
mydb.setHostName("localhost");
mydb.setPassword("");
if(!mydb.open())
{
qDebug() << "failed" ;
qDebug() << mydb.lastError().text();
}
QSqlQuery qry;
qry.prepare("CREATE TABLE RSA(name varchar(20);");
if(qry.exec())
{
QMessageBox msg;
msg.setText("Data saved");
msg.exec();
mydb.close();
mydb.removeDatabase(QSqlDatabase::defaultConnection);
}
else
{
QMessageBox msg2;
msg2.setText("Failed to save data");
msg2.exec();
qDebug() << mydb.lastError().text();
}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
首先,您的SQL语句中存在语法错误,您错过了最后的右括号。
其次,出于您的目的,您不需要准备SQL语句就可以使用它,您只需执行它即可。
QSqlQuery qry;
if(qry.exec("CREATE TABLE RSA(name varchar(20))"))
{
//....