Qt连接sqlite,MySQL,Oracle代码

本文详细介绍了如何使用Qt框架连接SQLite、MySQL和Oracle数据库,包括必要的库配置、连接代码示例及注意事项,为Qt开发者提供数据库操作的基础指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


void MainWindow::init()
{

/*
  //连接 sqlite 数据库
    bool success=0;
   db = QSqlDatabase::addDatabase("QSQLITE");
   QSqlQuery query(db);
   db.setDatabaseName("DataBase.db");
   if( db.open())
       qDebug()<<"open successful";

   //以当前日期命名表
   QDateTime date;
   QString TableName;
   QVariant datetemp = date.currentDateTime();
   TableName = datetemp.toString();
   TableName.remove(19,TableName.size());
   TableName.replace("-","");
   TableName="Table"+TableName;
   TableName.replace(":","");
   qDebug()<<TableName;
 
  //插入180个字段,名为C1,C2,C3...
   QString column;
   for (int i = 0; i<180; i++)
       column.append('C' + QString::number(i) + ' ' + "float,");

   column.remove(1869, 1);

   QString create = QString("CREATE TABLE %1(%2)").arg(TableName).arg(column);
   success=query.exec(create);

   if (success==1)
    {
    qDebug()<<"creat successful";
    }
  else
    {
      qDebug()<<"creat failure"<<query.lastError();
    }



*/

    //////////////////////////////////////////////////////////

/*          //连接 MySQL 数据库
            QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
            db.setHostName("127.0.0.1");   //连接数据库主机名,这里需要注意(若填的
                                        // 为”127.0.0.1“,出现不能连接,则改为localhost)
            db.setPort(3306);                 //连接数据库端口号,与设置一致
             db.setDatabaseName("mysql");      //连接数据库名,与设置一致
             db.setUserName("root");          //数据库用户名,与设置一致
             db.setPassword("root");    //数据库密码,与设置一致
             db.open();
             if(!db.open())
             {
                 qDebug()<<QStringLiteral("不能连接")
                        <<"connect to mysql error"<<db.lastError().text();
                 return ;
             }
             else
             {
                  qDebug()<<QStringLiteral("连接成功")
                         <<"connect to mysql OK";
             }
             QSqlQuery query(db);
             query.exec("select * from student");
             while(query.next()){
                qDebug()<<query.value("name").toString();
             }

*/


     // 连接Oracle数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
    db.setPort(1522);
    db.setHostName("DESKTOP-EKDJ6H0");  //DESKTOP-EKDJ6H0
    db.setDatabaseName("qhlSid");
    db.setUserName("system");
    db.setPassword("12345");

    if (db.open())
     {
        qDebug()<< QStringLiteral("连接远程数据库成功");
   QMessageBox::warning(this,QStringLiteral("提示"),QStringLiteral("数据库连接成功!"));
     }
   else
     {
        qDebug()<<QStringLiteral("不能连接")
               <<"connect to Oracle error"<<db.lastError().text();
        return;
     }

    //查询语句
    QSqlQuery query("SELECT * FROM TB_PRO");
    while (query.next())
      {
        int iProNo = query.value(0).toInt();
        QString sProName = query.value(1).toString();

     }


}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值