成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

QT QODBC數據庫編程連接詳細介紹

移動開發
QT自帶有QODBC Driver,在Windows平臺上通過系統提供的ODBC Driver可以訪問支持ODBC的數據庫,如Ms Access、SQL Server等 (Windows XP 自帶有Access和SQL Server的ODBC Driver)。

QT QODBC數據庫編程連接詳細介紹是本文所介紹的內容,QT數據庫編程提供了一個類似JDBC的統一操作模型,它的底層是具體數據庫數據庫接口的插件,由它們負責完成真正的數據庫操作。

QT自帶有QODBC Driver,在Windows平臺上通過系統提供的ODBC Driver可以訪問支持ODBC的數據庫,如Ms Access、SQL Server等 (Windows XP 自帶有Access和SQL Server的ODBC Driver)。

QT數據庫模型的基礎類是QSqlDatabase對象,擁有一個QSqlDatabase對象代表著擁有一個數據庫的連接,在一個已經Open的QSqlDatabase對象上,我們就可以執行各種數據庫操作。

要得到一個QSqlDatabase對象的方法是QSqlDatabase的靜態函數addDatabase,它創建一個新的QSqlDatabase對象,并注冊在內部的Hash表中,***返回該對象。 (另外靜態函數database可用于查詢一個已經注冊的QSqlDatabase對象)

當我們得到一個新的還沒有Open的QSqlDatabase對象,我們要先設置數據庫的DSN(Data Source Name),DSN的設置是通過成員函數setDatabaseName,在QODBC中,DSN可以是多種形式

1、操作系統注冊的DSN名字

2、一個外部的DSN文件

3、可以被解釋的字符串

1和2我們可以在管理面板的ODBC管理面板里面設置或者生成,但是無疑第3種形式更具備靈活性,連接Access的DSN字符串具備類似的形式:

  1. "DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=xxx.mdb" 

下面是一段用于獲得某個指定的mdb文件的數據庫連接的代碼,函數會先檢測是否系統已有該文件的數據庫連接,如果有則再檢查該連接是否已打開,如果已打開則直接返回,如果有連接但處于關閉狀態中則打開后返回,如果還未有任何連接則創建一個新的連接,打開后返回。***打開失敗會拋出一個KDBException異常。

  1. QSqlDatabase KDBConnection::getAccessConnection(  
  2.     const QString& accessFile, const QString& userName,  
  3.     const QString& password)  
  4. ...{  
  5.     const QString PREFIX("puremilk.access.connection");  
  6.     QString connID = PREFIX + "-" + accessFile;  
  7.     QSqlDatabase connection = QSqlDatabase::database(connID, false);  
  8.  
  9.     if (connection.isValid())  
  10.     ...{  
  11.         if (connection.isOpen())  
  12.             return connection;  
  13.     }  
  14.     else  
  15.         connection = QSqlDatabase::addDatabase("QODBC", connID);  
  16.     QString dsn = QString(  
  17.         "DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=%1").arg(accessFile);  
  18.     qDebug()<<"Get Access Database connection - "<<dsn;  
  19.     connection.setDatabaseName(dsn);  
  20.  
  21.     if (!connection.open(userName, password))  
  22.     ...{  
  23.         THROW_EXCEPTION(KDBException, connection.lastError().text());  
  24.     }  
  25.     return connection;  

小結:QT QODBC數據庫編程連接詳細介紹的內容介紹完了,希望本文對你有幫助,關于數據庫的更多內容請參考編輯推薦。

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-21 15:31:04

Qt 數據庫 SQL

2011-06-29 15:02:25

Qt 模板庫

2010-03-18 14:55:17

Python數據庫連接

2011-06-21 15:11:04

QT 數據庫

2011-03-21 13:21:23

數據庫開發規范

2011-08-30 14:15:34

QTSQLite數據庫

2011-08-30 14:59:34

Qt數據庫

2011-07-05 09:54:04

2024-01-02 08:47:42

2011-07-05 10:16:16

Qt 數據庫 SQLite

2022-07-27 08:32:01

數據庫MySQL

2009-08-28 13:03:55

C#壓縮Access數

2011-06-10 10:31:57

QT mysql linux

2011-07-05 18:11:13

Qt 數據庫

2011-07-05 10:03:00

Qt MYSQL 數據庫

2009-12-29 11:15:45

ADO數據庫

2011-06-27 12:56:28

2011-08-30 14:38:50

QT數據庫

2011-07-27 11:08:49

Oracle數據庫EM Console重

2011-08-10 13:03:58

CJDBC數據庫集群
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久6视频 | 不卡一区| 国产精品成人一区二区 | 黄色一级大片在线免费看产 | 一区二区视频在线观看 | 亚洲成人国产精品 | 久久久久99 | 91亚洲欧美 | 一区二区三区在线观看免费视频 | 亚洲精品乱码久久久久久按摩观 | 亚洲综合大片69999 | 久草在线免费资源 | 国产在线高清 | 欧美精品一区二区三区蜜桃视频 | 亚洲国产成人精品在线 | av在线三级 | 狠狠综合久久av一区二区老牛 | 久久精品视频在线免费观看 | 精品国产乱码久久久久久闺蜜 | 久久看看 | 欧美一区免费在线观看 | 国产一级电影在线 | 国产午夜视频 | 欧美在线观看网站 | 中文字幕一区二区在线观看 | 99久久电影| 国产欧美三区 | 午夜电影网站 | 龙珠z在线观看 | 中文字幕中文字幕 | 精品欧美一区二区久久久伦 | 91av在线免费| 久久精品日产第一区二区三区 | 亚洲 欧美 日韩在线 | 中文字幕亚洲精品 | 精品久久久久一区二区国产 | 免费一级黄 | 欧美激情精品久久久久久变态 | 精品美女 | 人人干人人爽 | 免费黄色的网站 |