QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("CHINA-E84436998");
QString dsn = QString::fromLocal8Bit
("DRIVER={SQL SERVER};SERVER=CHINA-E84436998;DATABASE=SMUimageDB;uid=pan;pwd=123");
db.setDatabaseName(dsn);
db.setUserName("pan");
db.setPassword("pan");
if(!db.open()) {
QMessageBox::critical(0,QLabel::trUtf8("数据库连接失败"),db.lastError().text());
return -1;
}
//上面连接数据库成功
QSqlQuery query;
query.exec("CREATE TABLE pictures ("
"ImageID INT PRIMARY KEY AUTOINCREMENT, "
"ImageName VARCHAR(10) , "
"fromID INT NOT NULL, "
"path varbinary(MAX) NOT NULL");
此处用代码创建一个新的pictures表失败,提示:
[Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'pictures' 无效。 [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句。"
到底是上面意思?为什么创建失败?
调试时,直接跳过创建表的代码,query.exec结果返回false