Leechi_lai 2017-05-22 20:19 采纳率: 100%
浏览 2230
已采纳

怎么样在QT中创建一个mysql数据库的学生成绩表呢

表内容包括学号,姓名,科目,分数,代码只在qt里面写而不用另外再在mysql里建表

  • 写回答

1条回答

  • 战在春秋 2017-05-22 21:07
    关注

    示例代码如下:

    void MainWindow::on_pushButton_2_clicked()
    {
        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    
        db.setHostName("localhost");
        db.setDatabaseName("myTestDB");
        db.setUserName("root");
        db.setPassword("");
    
        if(db.open())  { ui->textBox->append("Connected..."); }
            QSqlQuery query(db);
        else ui->textBox->append(db.lastError().text());
    
        QSqlQuery query;
        query.prepare( "CREATE TABLE IF NOT EXISTS myTable (id INTEGER UNIQUE PRIMARY KEY, name VARCHAR(10), subject VARCHAR(10),
                        result DECIMAL(5,2))" );
        if(query.exec())
        {
            ui->textBox->append("Table created");
        }
        else
        {
            ui->textBox->append("Error");
            ui->textBox->append("MySQL error:" + query.lastError().text());
            ui->textBox->append("MySQL error code:"+ QString::number(query.lastError().number()));
        }
            db.close();
    }
    

    代码不算复杂,就不加注释了。
    ui->textBox是Window上的控件,不是这个问题的关键。
    摘取与数据库相关的部分,放到自己的其它代码中。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题