• 4804阅读
  • 2回复

[提问]程序总是出现untitled.exe停止运行,什么状况啊,已经重新写了好多次了还是么有解决? [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 楼主  发表于: 2016-04-16
/********************************connection.h***********************************************************/
#ifndef CONNECTION_H
#define CONNECTION_H
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QMessageBox>
#include <QDebug>

static bool QCreateConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    qDebug()<<"添加数据库";
    db.setDatabaseName("mysql1.db");
    qDebug()<<"设置数据库名字";
    if(!db.open())
    {
        qDebug()<<"数据库打开失败";
        QMessageBox::critical(0,"Cannot open database","Unable to establish a database connection.",QMessageBox::Cancel);
        return false;
    }
    QSqlQuery query;
    qDebug()<<"query变量创建成功";
    query.exec("create table student(id int primary key,name varchar(20),course int)");
    query.exec("insert into student values(1,'李强',11)");
    query.exec("insert into student values(2,'马亮',11)");
    query.exec("insert into student values(3,'孙红',12)");
    query.exec("insert into student values(4,'薛静',10)");

    //创建course表
    query.exec("create table course(id int primary key,name varchar(20),teacher varchar(20)");
    query.exec("insert into course values(10,'数学','王老师')");
    query.exec("insert into course valuse(11,'英语','张老师')");
    query.exec("insert into course valuse(12,'计算机','白老师')");
    qDebug()<<"写入数据成功";

    return true;
}
#endif // CONNECTION_H

/*************************************mainwindow.h********************************************************************/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QSqlTableModel>
class QSqlTableModel;                                       //添加类的前置声明
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QSqlTableModel *model;
};

#endif // MAINWINDOW_H

/****************************************************mainwindow.cpp********************************************************************/
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "connection.h"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    model = new QSqlTableModel(this);                                  // QSqlTableModel *model;
    model->setTable("student");
    model->select();

    //设置编辑策略
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    ui->tableView->setModel(model);
//    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}
/****************************************************main.cpp************************************************/
#include "mainwindow.h"
#include "connection.h"
#include <QDebug>
#include <QApplication>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
    if(!QCreateConnection())
    {
        qDebug()<<"数据库连接失败";
        return 1;
    }
    MainWindow w;
    w.show();

    return a.exec();
}
下面是程序运行时出现的untitled.exe停止运行
window.open('http://www.qtcn.org/bbs/attachment/Mon_1604/17_166243_3ec86af4564fc5b.png?34');" style="max-width:700px;max-height:700px;" onload="if(is_ie6&&this.offsetWidth>700)this.width=700;" >问题该怎么解决啊?大神们。我都重新写了好几次代码了
本帖提到的人: @XChinux @lifengjz @q洁士铭
离线xinqingfly

只看该作者 1楼 发表于: 2016-04-17
QSqlQuery query(db);
菜鸟也是鸟
离线xinqingfly

只看该作者 2楼 发表于: 2016-04-17
model = new QSqlTableModel(this,db);    
菜鸟也是鸟
快速回复
限100 字节
 
上一个 下一个