當前位置:首頁 » 編程語言 » qt創建sql表
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

qt創建sql表

發布時間: 2023-08-12 18:44:30

㈠ QT 簡單資料庫操作

看你的create語句中time varchar(20)),..這邊多了一個 ) ,可能導致建的表中實際只有兩個欄位:id和time。

然後你又插入了4個欄位,所以參數個數錯誤。。

㈡ qt操作sqlite 如何使用vacuum命令

qt操作sqlite 如何使用vacuum命令?

使用Qt操作SQLite,可以使用QSqlQuery對象來執行VACUUM命令。例如:

// 創建一個資料庫連接 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("mydb.sqlite"); if(!db.open()) { qDebug() << "Error: connection with database fail"; } else { qDebug() << "Database: connection ok"; } // 執行 VACUUM 命令 QString queryStr = "VACUUM;"; QSqlQuery query(queryStr, db); if (!query.exec()) { qDebug() << "Error: Vacuum failed" ; } else { qDebug() << "Vacuum successful!" ; }

㈢ 請教高手如何使用QT建立SQLite資料庫啊急!!

QSqlDatabase db = QSqlDatabase::addDatabase(「QSQLITE」); //添加資料庫驅動
db.setDatabaseName(「:XXX:」); //資料庫連接命名
if(!db.open()) //打開資料庫
return false;
QSqlQuery query; //以下執行相關QSL語句
query.exec(「create table student(id int primary key,name varchar)」);
//添加數據
query.exec(「insert into student values(1,'小明')」);
主要靠QSqlTableModel,QSqlQueryModel 模型就可以了,剩下的就是細節問題了

㈣ qt中創建資料庫sqlite名為mysql.db,向mysql.db中插入數據,不成功

你看看你的sql語句有沒有問題,把sql語句打出來

那你用一個sql連接工具看看,用命令行好像你這樣寫是新建資料庫sql.db的意思,打開的不是這樣的好像。你用工具看吧

㈤ 怎樣在Qt下連接讀寫sqlite資料庫

這里以學生信息的錄入與讀取來作為演示,主要目的是演示資料庫的操作,至於數據的顯示等不在演示範圍內,請您自行研究。
首先,在Qt中建立一個圖形界面的程序項目。

然後,我們在命令行下用sqlite命令創建了資料庫 C:\StudentInfo\sutdentdata.db,並且建立了一個資料庫表student,該表有四個欄位ID、Name、Sex、Age,未向表中添加任何數據。
關於sqlite的簡單使用,可以參考我們的另一篇經驗。
2SQLite的簡單使用方法

在讀寫SQLite資料庫中,我們最主要用到的是QSqlDatabase類及QSqlQuery類,前者負責創建資料庫連接並打開資料庫,後者負責執行查詢操作。實際上前者也可以進行查詢操作並將結果返回給QSqlQuery對象,但是Qt並不建議這么做。
在幹活前,依然是先看看Assitant,這是培養獨立解決問題的一個好習慣。

好,下面給 錄入 按鈕的點擊事件編寫代碼。關於如何給按鈕的某一事件進行編碼,可以參考我們另一篇經驗。
首先在.pro文件中加上sql,然後別忘了#include <QSqlDatabase>以及#include <QSqlQuery>。
好了,下面在錄入按鈕的槽中加入如下代碼:
QSqlDatabase mydb=QSqlDatabase::addDatabase("QSQLITE","wconntosqlite");
mydb.setDatabaseName("c:\\StudentInfo\\studentdata.db");
if(mydb.open())
{
QSqlQuery query(mydb);
QString sqlstr="insert into student (ID,Name,Sex,Age) values ('"
+ui->le_id->text()+"','"
+ui->le_name->text()+"','"
+ui->le_sex->text()+"',"
+ui->le_age->text()+")";
bool isok=query.exec(sqlstr);
if(isok)
qDebug()<<"數據寫入成功";
}
上面我們先調用了QSqlDatabase的靜態函數addDatabase創建了一個名為wconntosqlite的連接。然後給其傳遞資料庫名稱。
如果資料庫打開成功,就創建一個關聯的QSqlQuery對象,最後由QSqlQuery來執行插入數據工作。
特別注意:QSqlQuery對象的創建必須在mydb open成功以後才行,否則會出錯。
我們來看看效果如何。
4c++怎麼做界面

我們接著來寫查詢按鈕的代碼,輸入以下代碼:
QSqlDatabase mydb=QSqlDatabase::addDatabase("QSQLITE","rconntosqlite");
mydb.setDatabaseName("c:\\StudentInfo\\studentdata.db");
if(mydb.open())
{
QSqlQuery query(mydb);
QString sqlstr="select * from student";
bool isok=query.exec(sqlstr);
if(isok)
qDebug()<<"數據讀取成功";

query.first();
QString result="學號:"+query.value(0).toString()+" "
+"姓名:"+query.value(1).toString()+" "
+"性別:"+query.value(2).toString()+" "
+"年齡:"+query.value(3).toString();
ui->lbl_query->setText(result);
}
與寫入數據基本差不多,這里需要特別注意的是query.first();。看看Assistant怎麼說的就知道了。原來,query對象在執行完查詢語句後,query的位置被置於一個不可用的位置,如果想從query中獲取數據,需要設置query到一個可用的記錄中才行。方法有好幾種,這里我們用了first()成員函數。
好,來看看運行結果。
可以看到軟體讀取的數據與控制台窗口的數據是一致的。

我們來總結下Qt操作SQLite資料庫的五步走法決:
第一步,建立一個連接:QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
第二步,關聯資料庫文件:db.setDatabaseName("這里你的資料庫文件路徑")
第三步,打開資料庫:db.open()
第四步,如果資料庫打開成功,就建立一個相關聯的QSqlQuery對象:QSqlQuery query(db)
第五步,執行SQL語句:query.exec("你的SQL語句字元串")

㈥ qtsqlite可以並行寫多個表數據嗎

qtsqlite可以並行寫多個表數據。qtsqlite資料庫文件之中對表的個數沒有限制,只要你的硬碟空間足夠大,你想建立多少個表都可以。SQLite(sql)是一款開源輕量級的資料庫軟體,不需要server,可以集成在其他軟體中,非常適合嵌入式系統。