QT连接数据库

#include "mainwindow.h"
#include "ui_mainwindow.h"
 
#include <QStringList>
#include <QDebug>
#include <QMessageBox>
#include <QtSql/QSqlError>
#include <QtDebug>
 
#include <QVariant>
 
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    db = QSqlDatabase::addDatabase("QODBC","db");
    QString dsn = QString::fromLocal8Bit("mssqlserver");
       db.setDatabaseName(dsn);
       if(!db.open())
           QMessageBox::about(0, QObject::tr("Database Error"),db.lastError().text());
 
/*qDebug() << "Available drivers:";
  QStringList drivers = QSqlDatabase::drivers();
  foreach(QString driver, drivers)
      qDebug() << "\t" << driver;
 
  QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
  qDebug() << "ODBC driver valid?" << db.isValid();*/
 
 
      // QSqlQuery mquery;
       mquery=QSqlQuery(db);
       mquerycz=QSqlQuery(db);
 mquery.exec("select * from xsb;");
 
 /*while(mquery.next()){
             int id=mquery.value(0).toInt();  //query.value(0)中0表示第一个字段的值,即是id的值
             QString name=mquery.value(1).toString().trimmed();
             qDebug()<<"id="<<id<<"  "<<"name="<<name<<endl;}*/
 
 
 
 
 
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_pushButton_clicked()
{
    mquery.first();
    ui->ledbh->setText(mquery.value(0).toString());
    ui->ledxm->setText(mquery.value(1).toString());
    ui->ledxb->setText(mquery.value(2).toString());
}
 
void MainWindow::on_pushButton_2_clicked()
{
    mquery.last();
    ui->ledbh->setText(mquery.value(0).toString());
    ui->ledxm->setText(mquery.value(1).toString());
    ui->ledxb->setText(mquery.value(2).toString());
}
 
void MainWindow::on_pushButton_3_clicked()
{
    mquery.previous();
    ui->ledbh->setText(mquery.value(0).toString());
    ui->ledxm->setText(mquery.value(1).toString());
    ui->ledxb->setText(mquery.value(2).toString());
}
 
void MainWindow::on_pushButton_4_clicked()
{   if(mquery.next())
    {    ui->ledbh->setText(mquery.value(0).toString());
        ui->ledxm->setText(mquery.value(1).toString());
        ui->ledxb->setText(mquery.value(2).toString());}
 
}
 
void MainWindow::on_pushButton_6_clicked()
{   ui->ledbh->setText("");
    ui->ledxm->setText("");
    ui->ledxb->setText("");
    ui->ledbh->setFocus();
 
}
 
void MainWindow::on_pushButton_5_clicked()
{
 
    mquerycz.prepare("insert into xsb(xm,xb) values(:xm,:xb)");
    mquerycz.bindValue(":xm",ui->ledxm->text().trimmed());
    mquerycz.bindValue(":xb",ui->ledxb->text().trimmed());
    mquerycz.exec();
    mquery.exec("select * from xsb;");
 
}
/**********************************************************************************************************/
 
 
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
     w.show();
     return a.exec();
}
/**********************************************************************************************************/
 
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
namespace Ui {
    class MainWindow;
}
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private:
    Ui::MainWindow *ui;
    QSqlDatabase db ;
    QSqlQuery mquery;
    QSqlQuery mquerycz;
private slots:
    void on_pushButton_5_clicked();
    void on_pushButton_6_clicked();
    void on_pushButton_4_clicked();
    void on_pushButton_3_clicked();
    void on_pushButton_2_clicked();
    void on_pushButton_clicked();
};
#endif // MAINWINDOW_H
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值