1. 程式人生 > >【傻瓜式】QT5+sql server(ODBC)建立資料來源並且連線資料庫

【傻瓜式】QT5+sql server(ODBC)建立資料來源並且連線資料庫

qt5.5 msvc + sql server2008

登入ID:SQLproject

登入密碼:mylocalhost

伺服器ID:DELL-PC

資料庫名:PhoneCount

 

資料庫使用者配置,首先建立個數據庫 PhoneCount,【請忽略課程設計的名字~】

使用者名稱字為SQLproject


接著


勾選之前建立的資料庫

 

確認狀態無誤

 

如果出現錯誤18456那麼檢查下自己資料庫授權以及登入方式

 




然後退出當前windows使用者驗證的登入

用剛才建立的使用者登入還要注意這裡的使用者名稱要有建立表的許可權,不然建立下面的表student會不成功


忘記登入截圖了,但是登入是很簡單的,因為是第一次登入,sql會要求你重新設定密碼,也就是剛才建立使用者設定的密碼會取消了,然後設定新密碼,那麼登入就OK了。

 

 

那麼接下來就是配置qt這邊的資料來源了。

開啟電腦上的【資料來源】ODBC


接著

 

然後輸入我們剛才建立的使用者

使用者名稱:SQLproject

密碼:localhost


然後更改預設資料庫為剛才建立的資料庫PhoneCount




 

然後

採用預設設定不需要修改。如果需要修改可以做適當調整比如加密儲存檔案路徑之類的。

點選完成即可

最後測試資料來源~彈出測試成功,So Nice。


然後在資料來源之中(ODBC)



參考部落格

百科

然後連線上去做測試的時候出現了


那麼這時候你就要到自己的儲存檔案目錄下去刪除生成的debug/release檔案。

查詢相關驅動有沒有裝好

.pro中新增 QT += sql



使用者資訊表

create tablephoneuser(

nmae char(8)notnull,

phone char(11)not null,

addr char(8) notnull,

ID char(18)  notnull primary key

insert phoneuser(name,phone,addr,ID)

values ('李華','18060843577'

,'福建閩江','3522199807120049')

);

若資料庫沒有開啟那麼是無法新增的,但是可以查詢資料庫已有的資訊。

管理員資訊表

create tableadministrators(

number char(8)primarykey,

name   char(10),

password char (8)

)

insert administrators(number,name,password)

values ('313106','manage','123456')

用Qstring中的arg替換字串非常好用

Qstring("Insertintophoneuservalues('%1','%2','%3','%4')")

//連線資料庫

QSqlDatabasedb=QSqlDatabase::addDatabase("QODBC");

db.setDatabaseName(QString("DRIVER={SQLSERVER};"

"SERVER=%1;"//servername

"DATABASE=%2;"//sqlname

"UID=%3;"//loadid

"PWD=%4;"//password

).arg("DELL-PC")

.arg("PhoneCount")

.arg("SQLproject")

.arg("mylocalhost")

);

if(!db.open())

{

//QMessageBox::about(this,"DatabaseError",db.lastError().text());

qDebug()<<"DatabaseError";

qDebug()<<db.lastError();

}

//DELL-PC  電腦名字

//PhoneCout 資料庫名字

//SQLproject 登入的使用者名稱

//mylocalhost 登入使用者的密碼

create tablecharge(

name char(8)notnull,

Phone char(11)notnull primary key,

blance floatnotnull,

receiveble float not null,

receipts float not null

);

create tablebill(

Phone char(11)not null,

currentcost float not null,

calltime int not null,

callcost float not null

);

資源下載:http://download.csdn.net/detail/baidu_25109069/9388870