国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

QT+SQLite數(shù)據(jù)庫配置和使用

這篇具有很好參考價值的文章主要介紹了QT+SQLite數(shù)據(jù)庫配置和使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、簡介
1.1 SQLite(sql)是一款開源輕量級的數(shù)據(jù)庫軟件,不需要server,可以集成在其他軟件中,非常適合嵌入式系統(tǒng)。Qt5以上版本可以直接使用SQLite(Qt自帶驅(qū)動)。
二、下載和配置
2.1 SQLite下載官網(wǎng)下載鏈接
2.2 根據(jù)計算機的配置,選擇所需項目是64位還是32位下載對應(yīng)的壓縮包
QT+SQLite數(shù)據(jù)庫配置和使用,數(shù)據(jù)庫,qt,sqlite,計算機視覺,人工智能,c++
2.3 安裝
在系統(tǒng)盤(C盤)建一個名稱為“sqlite”的文件夾,把上面下載的兩個壓縮包解壓到這個sqlite文件夾中
QT+SQLite數(shù)據(jù)庫配置和使用,數(shù)據(jù)庫,qt,sqlite,計算機視覺,人工智能,c++

2.4 配置計算機環(huán)境變量
右鍵此電腦,點擊“屬性”,打開“高級系統(tǒng)設(shè)置。
QT+SQLite數(shù)據(jù)庫配置和使用,數(shù)據(jù)庫,qt,sqlite,計算機視覺,人工智能,c++
2.5.驗證安裝是否成功
QT+SQLite數(shù)據(jù)庫配置和使用,數(shù)據(jù)庫,qt,sqlite,計算機視覺,人工智能,c++
三、應(yīng)用數(shù)據(jù)庫主要是增刪查改,下面是相關(guān)函數(shù)代碼
3.1 首先包含相關(guān)庫文件

#include <QtWidgets/QWidget>
#include <sstream>
#include <QString>
#include <QDomDocument>
#include <QTextStream>
#include <QFile>
#include <QDir>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QMessageBox>
#include <vector>

3.2 函數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-740898.html

#pragma region 創(chuàng)建并連接SQLite數(shù)據(jù)庫
//創(chuàng)建并連接SQLite數(shù)據(jù)庫
bool SQLite::CreateConnectDB(QString sql_name, QSqlDatabase &database)
{
	try
	{
		//建立并打開數(shù)據(jù)庫
		database = QSqlDatabase::addDatabase("QSQLITE");
		database.setDatabaseName(sql_name);
		bool bol_sql_open = database.open();
		if (bol_sql_open == false)
		{
			QMessageBox::critical(NULL, "Prompt", database.lastError().text());
			return false;
		}
		else
		{
			return true;
		}
	}
	catch (...)
	{
		return false;
	}
}
#pragma endregion

#pragma region 創(chuàng)建表格
//創(chuàng)建表格
bool SQLite::CreateTable(QString table_name)
{
	try
	{
		QSqlQuery sql_query;
		QString sql = "create table " + table_name + "(USERNAME text, PASSWORD text)";
		if (!sql_query.exec(sql))
		{
			QMessageBox::critical(NULL, "Prompt", sql_query.lastError().text());
			return false;
		}
		else
		{
			return true;
		}
	}
	catch (...)
	{
		return false;
	}
}
#pragma endregion

#pragma region 插入數(shù)據(jù)
//插入數(shù)據(jù)
bool SQLite::InsertData(QString table_name, QString user_name, QString password)
{
	try
	{
		QSqlQuery sql_query;
		QString sql = "insert into " + table_name + " values (?, ?)";
		sql_query.prepare(sql);
		sql_query.addBindValue(user_name);
		sql_query.addBindValue(password);
		if (!sql_query.exec())
		{
			QMessageBox::critical(NULL, "Prompt", sql_query.lastError().text());
			return false;
		}
		else
		{
			return true;
		}
	}
	catch (...)
	{
		return false;
	}
}
#pragma endregion

#pragma region 修改數(shù)據(jù)
//修改數(shù)據(jù)
bool SQLite::ModifyData(QString user_name, QString password)
{
	try
	{
		QSqlQuery sql_query;
		QString sql = "update LoginTable set PASSWORD = :PASSWORD where USERNAME = :USERNAME";
		sql_query.prepare(sql);
		sql_query.bindValue(":USERNAME", user_name);
		sql_query.bindValue(":PASSWORD", password);
		if (!sql_query.exec())
		{
			QMessageBox::critical(NULL, "Prompt", sql_query.lastError().text());
			return false;
		}
		else
		{
			return true;
		}
	}
	catch (...)
	{
		return false;
	}
}
#pragma endregion

#pragma region 查詢數(shù)據(jù)
//查詢數(shù)據(jù)
bool SQLite::QueryData(QString user_name, QString &password)
{
	try
	{
		//eg: "select * from LoginTable where USERNAME == 'user0';"
		QSqlQuery sql_query("select * from LoginTable where USERNAME == '" + user_name + "';");
		if (!sql_query.exec())
		{
			QMessageBox::critical(NULL, "Prompt", sql_query.lastError().text());
			return false;
		}
		else
		{
			while (sql_query.next())
			{
				password = sql_query.value(1).toString();
			}
			return true;
		}
	}
	catch (...)
	{
		return false;
	}
}
#pragma endregion

#pragma region 刪除數(shù)據(jù)
//刪除數(shù)據(jù)
bool SQLite::DeleteData(QString user_name)
{
	try
	{
		QSqlQuery sql_query("delete from LoginTable where USERNAME == '" + user_name + "';");
		if (!sql_query.exec())
		{
			QMessageBox::critical(NULL, "Prompt", sql_query.lastError().text());
			return false;
		}
		else
		{
			return true;
		}
	}
	catch (...)
	{
		return false;
	}
}
#pragma endregion

#pragma region 刪除表格
//刪除表格
bool SQLite::DeleteTable(QString table_name)
{
	try
	{
		QSqlQuery sql_query;
		sql_query.exec("drop table " + table_name);
		if (sql_query.exec())
		{
			QMessageBox::critical(NULL, "Prompt", sql_query.lastError().text());
			return false;
		}
		else
		{
			return true;
		}
	}
	catch (...)
	{
		return false;
	}
}
#pragma endregion

#pragma region 關(guān)閉數(shù)據(jù)庫
//關(guān)閉數(shù)據(jù)庫
bool SQLite::CloseDB( QSqlDatabase database)
{
	try
	{
		database.close();
		return true;
	}
	catch (...)
	{
		return false;
	}
}
#pragma endregion

到了這里,關(guān)于QT+SQLite數(shù)據(jù)庫配置和使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于Qt數(shù)據(jù)庫項目實現(xiàn)(Sqlite3為例)|考查數(shù)據(jù)庫、繪制(畫家)、事件等知識點(進階)

    堅持最初的夢想,揚帆起航,乘風(fēng)破浪,永不言敗。 01 數(shù)據(jù)庫 數(shù)據(jù)庫是什么?簡易言之,就是保存數(shù)據(jù)的文件??梢源鎯Υ罅繑?shù)據(jù),包括插入數(shù)據(jù)、更新數(shù)據(jù)、截取數(shù)據(jù)等。用專業(yè)術(shù)語來說,數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫”。是一個長期存儲在計

    2024年02月19日
    瀏覽(21)
  • 【C++】開源:sqlite3數(shù)據(jù)庫配置使用

    【C++】開源:sqlite3數(shù)據(jù)庫配置使用

    ?? ★,° :.☆( ̄▽ ̄)/$: .°★ ?? 這篇文章主要介紹sqlite3數(shù)據(jù)庫配置使用。 無專精則不能成,無涉獵則不能通?!簡⒊?歡迎來到我的博客,一起學(xué)習(xí),共同進步。 喜歡的朋友可以關(guān)注一下,下次更新不迷路?? 項目Github地址: https://github.com/sqlite/sqlite SQLite 是一種嵌入式

    2024年02月14日
    瀏覽(20)
  • sqlite數(shù)據(jù)庫基本使用

    sqlite數(shù)據(jù)庫是sql數(shù)據(jù)庫引擎的一種,它不需要任何配置,不需要服務(wù)器,是一個輕量級的嵌入式數(shù)據(jù)庫。安裝sqlite見文檔:SQLite3的安裝與使用_sqlite3安裝_冒險的夢想家的博客-CSDN博客 下面直接對sqlite3數(shù)據(jù)庫基本命令進行說明: 1.獲取sqlite版本的命令 sqlite3 --version 2.數(shù)據(jù)庫創(chuàng)

    2024年02月10日
    瀏覽(33)
  • uniapp使用sqlite 數(shù)據(jù)庫

    uniapp使用sqlite 數(shù)據(jù)庫

    傻瓜式使用方式,按步驟,即可使用。 1.開啟sqlite 在項目中manifest.json該文件中配置 2.封裝數(shù)據(jù)庫的調(diào)用方法 3.創(chuàng)建數(shù)據(jù)庫方式 4.操作數(shù)據(jù)庫正刪改查

    2024年02月11日
    瀏覽(29)
  • Android之SQLite數(shù)據(jù)庫使用

    Android之SQLite數(shù)據(jù)庫使用

    SQLite是Android系統(tǒng)集成的一個輕量級的數(shù)據(jù)庫。 Android提供了 SQLiteDatabase代表一個數(shù)據(jù)庫 (底層就是一個數(shù)據(jù)庫文件),一旦應(yīng)用程序獲得了代表指定數(shù)據(jù)庫的SQLiteDatabase對象,接下來可通過SQLiteDatabase對象來管理、操作數(shù)據(jù)庫了。 Android為了讓我們能夠更加方便地管理數(shù)據(jù)庫,

    2024年02月16日
    瀏覽(31)
  • C#如何使用SQLite數(shù)據(jù)庫?

    C#如何使用SQLite數(shù)據(jù)庫?

    ??SQLite是一個輕量級的嵌入式數(shù)據(jù)庫,它的庫文件非常小巧,不需要獨立的服務(wù)器進程或配置。這使得它非常適合在資源受限的環(huán)境中使用,如移動設(shè)備、嵌入式系統(tǒng)等。與其他數(shù)據(jù)庫管理系統(tǒng)相比,SQLite不需要進行繁瑣的配置和管理。它只需要一個文件來存儲整個數(shù)據(jù)庫

    2024年02月12日
    瀏覽(31)
  • Android開發(fā)——SQLite數(shù)據(jù)庫的使用

    1、SQLite的特性 SQLite是一個進程內(nèi)的庫,實現(xiàn)了自給自足的、無服務(wù)器的、零配置的、事務(wù)性的 SQL 數(shù)據(jù)庫引擎。它是一個零配置的數(shù)據(jù)庫,這意味著與其他數(shù)據(jù)庫不一樣,您不需要在系統(tǒng)中配置。 SQLite 引擎不是一個獨立的進程,可以按應(yīng)用程序需求進行靜態(tài)或動態(tài)連接。

    2024年02月15日
    瀏覽(26)
  • Android Studio使用SQLite數(shù)據(jù)庫

    Android Studio使用SQLite數(shù)據(jù)庫

    1.能使用SQLiteDatabase類操作數(shù)據(jù)庫與表 2.能使用SQLiteDatabaseHelper類操作數(shù)據(jù)庫與表 無論是安卓應(yīng)用還是蘋果應(yīng)用,都提供了本地輕量級數(shù)據(jù)庫——SQLite,可以創(chuàng)建和刪除數(shù)據(jù)庫,還能對數(shù)據(jù)表進行增刪改查操作。 SQLite由SQL編譯器、內(nèi)核、后端以及附件幾個部分構(gòu)成。SQLite通過

    2024年02月01日
    瀏覽(29)
  • HarmonyOS之sqlite數(shù)據(jù)庫的使用

    HarmonyOS之sqlite數(shù)據(jù)庫的使用

    從API Version 9開始,鴻蒙開發(fā)中sqlite使用新接口@ohos.data.relationalStore 但是? relationalStore在 getRdbStore操作時,在預(yù)覽模式運行或者遠程模擬器運行都會報錯,導(dǎo)致無法使用。查了一圈說只有在真機上可以正常使用,因此這里暫且使用?@ohos.data.rdb 二者的接口非常相似,會使用了

    2024年01月17日
    瀏覽(22)
  • 在C#中使用SQLite數(shù)據(jù)庫

    輕量級桌面程序數(shù)據(jù)庫不太適合用SQLServer、MySQL之類的重量級數(shù)據(jù)庫,嵌入式數(shù)據(jù)庫更好。在對比Access、SQLite、Firebird數(shù)據(jù)庫后發(fā)現(xiàn)SQLite較另外兩個有較多優(yōu)點。 環(huán)境:.NET Framework 3.5、windows11 64位、Visual Studio 2010.? C#使用SQLite需要從SQLite官網(wǎng)下載DLL組件。 我是windows11,64位的

    2023年04月23日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包