您的位置:首页 > 编程语言 > Qt开发

QT数据库操作

2014-05-14 16:45 162 查看
QT连接数据库,在pro文件中加上QT += sql

连接数据库

QSqlDatabase OpenDB()
{
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
// 注意,对于express版本数据库, 一定要加\\sqlexpress这种后缀
//    QString dsn="DRIVER={SQL SERVER};SERVER=192.168.24.71\\sqlexpress;DATABASE=wdgl";
QString url="DRIVER={SQL SERVER};SERVER=192.168.24.71;DATABASE=wdgl";
db.setDatabaseName(url);
db.setUserName("sa");
db.setPassword("sa");
if(!db.open())
{
qDebug("Error:%s",qPrintable(db.lastError().text()));
return db;
}
qDebug()<<"Database connected sucessfully!";
qDebug() << "ODBC driver valid?" << db.isValid();//连接成功输出true
QSqlQuery query;
return db;
}


增删改操作

QSqlQuery query;
qDebug()<<query.exec("insert into wdgl_user (note,password,username)values('user...','123456','admin')");//执行成功输出true

qDebug()<<query.exec("delete from wdgl_user where user_id = 1");//执行成功显示true
qDebug()<<query.exec("update wdgl_user set username = 'umgsai' where user_id = 2");//执行成功显示true
查询操作

void MainWindow::on_pushButton_clicked()
{
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("select * from wdgl_user");
model->setHeaderData(0, Qt::Horizontal, tr("用户id"));
model->setHeaderData(1, Qt::Horizontal, tr("用户说明"));
model->setHeaderData(2, Qt::Horizontal, tr("密码"));
model->setHeaderData(3, Qt::Horizontal, tr("用户名"));
QTableView *view = new QTableView;//弹出对话框
view->setGeometry(200,200,450,800);
view->setWindowTitle("用户列表");
view->setMinimumSize(450,800);//设置不可改变大小
view->setMaximumSize(450,800);
view->setModel(model);
view->show();
}


本文出自 “优赛工作室” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1411180
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: