温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用QT对Oracle数据库进行连接

发布时间:2021-01-29 14:59:09 来源:亿速云 阅读:737 作者:Leah 栏目:开发技术

如何使用QT对Oracle数据库进行连接?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

操作步骤:

1、打开QT软件,创建一个新的Application项目

如何使用QT对Oracle数据库进行连接

如何使用QT对Oracle数据库进行连接

如何使用QT对Oracle数据库进行连接

如何使用QT对Oracle数据库进行连接

如何使用QT对Oracle数据库进行连接

如何使用QT对Oracle数据库进行连接

如何使用QT对Oracle数据库进行连接

2、设计界面并修改代码:

2.1修改项目配置文件,添加sql字符串表示要对数据库进行操作。

如何使用QT对Oracle数据库进行连接

2.2登录界面LoginForm设计

如何使用QT对Oracle数据库进行连接

2.3编写登录界面代码

LoginForm.h代码如下:

#ifndef LOGINFORM_H #define LOGINFORM_H #include <QMainWindow> #include <QSqlDatabase> #include <QSqlQuery> QT_BEGIN_NAMESPACE namespace Ui { class LoginForm; } QT_END_NAMESPACE class LoginForm : public QMainWindow {  Q_OBJECT public:  LoginForm(QWidget *parent = nullptr);  ~LoginForm();  void initsql(); //初始化数据库 private slots:  void on_pushButton_clicked();  QString encrypt(const QString &str);//自定义加密函数 private:  Ui::LoginForm *ui;  QSqlDatabase db;  QSqlQuery *query; }; #endif // LOGINFORM_H
#include "loginform.h" #include "ui_loginform.h" #include <QStackedWidget> #include <QMessageBox> #include <QDebug> #include <QWidget> #include <QCryptographicHash> LoginForm::LoginForm(QWidget *parent)  : QMainWindow(parent)  , ui(new Ui::LoginForm) {  ui->setupUi(this);  initsql();//打开数据库连接 } LoginForm::~LoginForm() {  delete ui; } //登录验证账号密码是否正确 void LoginForm::on_pushButton_clicked() {  //获得用户和密码  QString name=ui->lineEdit->text();  QString password=ui->lineEdit_2->text();  QByteArray ba = password.toUtf8();  QByteArray md5Password = QCryptographicHash::hash(password.toUtf8(), QCryptographicHash::Md5).toHex();  QString str=QString("select * from USER where UserName='%1' and Password='%2'").arg(name).arg(encrypt(password));  qDebug()<<str;  query=new QSqlQuery;  query->exec(str);  query->last();  int record=query->at()+1;  if(record==0){   QMessageBox::information(this,"提示","用户或密码不对",QMessageBox::Ok);  }  else{   QMessageBox::information(this,"提示","系统登录成功",QMessageBox::Ok);  } } //MD5加密函数 QString LoginForm::encrypt(const QString &str) {  //字符串MD5算法加密  QByteArray btArray;  btArray.append(str);//加入原始字符串  QCryptographicHash hash(QCryptographicHash::Md5); //Md5加密算法  hash.addData(btArray); //添加数据到加密哈希值  QByteArray resultArray =hash.result(); //返回最终的哈希值  QString md5 =resultArray.toHex();//转换为16进制字符串  return md5.toUpper(); } //初始化打开数据库连接 void LoginForm::initsql() {  /*若输出列表中出现QOCI8和QOCI,则表示驱动加载成功*/  QStringList drivers = QSqlDatabase::drivers();  foreach(QString driver, drivers)  qDebug() <<"\t" << driver;  //数据库连接  db = QSqlDatabase::addDatabase("QOCI");  db.setHostName("192.168.1.100");//数据库服务器ip  db.setPort(1521);//数据库端口号  db.setDatabaseName("orcl");//数据库名称  db.setUserName("dbUserName");//数据库用户名  db.setPassword("dbUserPassword");//数据库密码  db.open(); }

3、按F5开始调试运行

如何使用QT对Oracle数据库进行连接

关于如何使用QT对Oracle数据库进行连接问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI