我們先了解一下基本的類:
qsqldatabase
提供資料庫的連線操作,
qsqlquery
是執行sql
語句的類,如:
qsqlquery
query(db
); query
.exec
("insertintopersonvalues(101,'danny','young')");
下面是如何建立乙個資料庫以及乙個資料表。
? void
mydatabase::createdb()
else
qsqlquery query(db);
bool
bsuccess =
query.exec("create table person (id int primary key, "
"firstname varchar(20), lastname varchar(20))"); //
建立乙個表
query.exec("insert into person values(101, 'danny', 'young')");
query.exec("insert into person values(102, 'christine', 'holand')");
query.exec("insert into person values(103, 'lars', 'gordon')");
query.exec("insert into person values(104, 'roberto', 'robitaille')");
query.exec("insert into person values(105, 'maria', 'papadopoulos')");
if(!bsuccess)
else
"insert into persons values ('xue','chao','langfang')");
}
當然我們一定要記住這個順序,先建立資料庫,然後再去建立乙個表(作為菜鳥的我犯這個錯誤了),還有一點需要注意的紅色標記的那句話,我參考的數籍一般都這樣寫
db.setdatabasename(
":memory:"
); 這樣就把生成的資料庫檔案是在記憶體當中的,在工程檔案目錄下找不到。
上面使我們建立了乙個資料庫和乙個表,那麼我們如何把它呈現在我們的
qtableview
部件上呢?
qsqltablemodel *model =
newqsqltablemodel;
model->settable(
"person"
);model->seteditstrategy(qsqltablemodel::onmanualsubmit);
model->
select
();ui->tableview->setmodel(model);
ui->tableview->show();
上面的**就把資料庫中的資訊不加篩選的列印到控制項上了。
Qt 的sqlite資料庫的學習
我們先了解一下基本的類 qsqldatabase 提供資料庫的連線操作,qsqlquery是執行sql語句的類,如 qsqlqueryquery db query.exec insert into person values 101,danny young 下面是如何建立乙個資料庫以及乙個資料表。v...
Qt 的sqlite資料庫的學習
我們先了解一下基本的類 qsqldatabase 提供資料庫的連線操作,qsqlquery是執行sql語句的類,如 qsqlqueryquery db query.exec insert into person values 101,danny young 下面是如何建立乙個資料庫以及乙個資料表。v...
Qt 的sqlite資料庫的學習
我們先了解一下基本的類 qsqldatabase 提供資料庫的連線操作,qsqlquery是執行sql語句的類,如 qsqlqueryquery db query.exec insert into person values 101,danny young 下面是如何建立乙個資料庫以及乙個資料表。v...