前提:
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供行唐網(wǎng)站建設(shè)、行唐做網(wǎng)站、行唐網(wǎng)站設(shè)計(jì)、行唐網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、行唐企業(yè)網(wǎng)站模板建站服務(wù),十余年行唐做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
SQL Server里已經(jīng)建立了相應(yīng)的數(shù)據(jù)庫(kù),有對(duì)應(yīng)的表和數(shù)據(jù)。
步驟:
1. Qt里新建一個(gè)空工程,添加main.cpp文件。
2. 在工程文件(.pro文件)添加一行:QT += sql。
3. 該敲代碼了,代碼如下:
[cpp] view plain copy
#include QtGui
#include QString
#include QTextCodec
#include QSqlDatabase
#include QtSql
/*連接數(shù)據(jù)庫(kù)*/
void OpenDatabase()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName(QString("DRIVER={SQL SERVER};"
"SERVER=%1;"
"DATABASE=%2;"
"UID=%3;"
"PWD=%4;").arg("QIAN-PC")
.arg("StuManager")
.arg("sa")
.arg("123456"));
if (!db.open())
{
QMessageBox::warning(0, qApp-tr("Cannot open database"),
db.lastError().databaseText(), QMessageBox::Cancel);
}
else
{
qDebug()"Connect to Database Success!";
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
/*設(shè)置編碼格式*/
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
OpenDatabase();
QDialog *mainDialog = new QDialog;
QTableView *tableView = new QTableView;
QHBoxLayout *layout = new QHBoxLayout;
layout-addWidget(tableView);
mainDialog-setLayout(layout);
QSqlQueryModel *model = new QSqlQueryModel;
model-setQuery(QObject::tr("select * from 教師"));
tableView-setModel(model);
mainDialog-adjustSize();
mainDialog-show();
return a.exec();
}
4. 看看運(yùn)行結(jié)果吧。
參考網(wǎng)址:
qtsqlquery查詢出來(lái)的條數(shù)和sqlserver不一致的原因就在于實(shí)體對(duì)象中的Key列即列1的值相同(在我們的例子中都為1)。
為了避免錯(cuò)誤的結(jié)果,可以把把視圖中col1,col2,col3的列都設(shè)為實(shí)體鍵。
這樣可以避免一些問(wèn)題,有時(shí)候列太多了,全設(shè)為實(shí)體鍵,不是一個(gè)好辦法。
qt可以使用odbc驅(qū)動(dòng)去連接sqlserver,先配置好odbc數(shù)據(jù)源,然后在qt里面調(diào)用數(shù)據(jù)源即可連接;
名稱欄目:qt和sqlserver的簡(jiǎn)單介紹
網(wǎng)頁(yè)地址:http://jinyejixie.com/article24/dsdgjce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)頁(yè)設(shè)計(jì)公司、響應(yīng)式網(wǎng)站、做網(wǎng)站、網(wǎng)站策劃、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)