QT通过ODBC来连接sqlsever 2008数据库

文件头添加#include<QtSql/QtSql>
工程文件pro中添加QT += sql
//连接数据库函数如下:

 QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");//利用odbc连接sqlsever
    db.setDatabaseName(QString("DRIVER={SQL SERVER};"
                               "SERVER=%1;" //服务器名称
                               "DATABASE=%2;"//数据库名
                               "UID=%3;"           //登录名
                               "PWD=%4;"        //密码
                               ).arg("USER-20180909NN\\TONG")//服务器名称,一般服务器名需要多加一个'\'表示转义字符
                       .arg("data")//数据库名  用你的数据库名来代替data  
                       .arg("sa")//登录名          用你的数据库名来代替sa
                       .arg("1234")//密码    用你的数据库名来代替1234
                       );//只要对号入座就可连接
    if(db.open())
    {
        qDebug()<<"connect sucess";
    }
    if (!db.open())
    {
        QMessageBox::critical(0, qApp->tr("Cannot open database"),
                              db.lastError().databaseText(), QMessageBox::Cancel);
    }

//查询数据库信息

void Widget::on_pushButton_query_clicked(){
    QSqlQueryModel *model = new QSqlQueryModel;
                model->setQuery("select * from dbo.dingdan");//这里直接设置SQL语句,dbo.dingdan 表示数据库名称
                ui->tableView->setModel(model);//在tableView中显示数据库信息
    }
//插入数据库的函数


 void Widget::insert_da()
        {
            QSqlQuery query(db);
            if(!query.prepare("INSERT INTO dbo.dingdan(species,price,number)" "VALUES(:species,:price,:number)"))
            {
                qDebug()<<"error";
            }
            query.bindValue(":species",species);
            query.bindValue(":price",price);
            query.bindValue(":number",number);
        
            query.exec();
        
        }

//删除数据库

void Widget::on_pushButton_delete_clicked()
    {
      QSqlQuery query(db);
        QString text_dingdan = ui->lineEdit_dingdan->text();
       QString str = QString("delete from dbo.dingdan where dingdan_ID='%1' ").arg(text_dingdan);
       query.exec(str);
    }

//修改数据库

void Widget::on_pushButton_alter_clicked()
{
    QSqlQuery query(db);
    QString text_dingdan = ui->lineEdit_dingdan->text();
    QString text_meat=ui->lineEdit_meat->text();
    int text_goodsin=ui->lineEdit_goods_in->text().toDouble();
    int text_goodsout=ui->lineEdit_goods_out->text().toDouble();
    int text_kucun =text_goodsin-text_goodsout;
    QString str = QString("update dbo.dingdan set dingdan_ID='%1',kucun='%2',meat_ID='%3',goods_in='%4',goods_out='%5' where dingdan_ID ='%6' ").arg(text_dingdan).arg(text_kucun).arg(text_meat).arg(text_goodsin).arg(text_goodsout).arg(text_dingdan);
     qDebug()<<query.exec(str);
    on_pushButton_query_clicked();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值