湛江做网站设计公司企业网站源码安装教程
web/
2025/10/5 12:42:12/
文章来源:
湛江做网站设计公司,企业网站源码安装教程,南京公司网站模板建站,红桥网站建设本博文源于笔者操作sqlite3#xff0c;借鉴了很多文章的思路#xff0c;这里并整理了c常用的对数据库的操作供大家点赞收藏以后备用。包含了#xff1a;c对sqlite3的创建数据库、创建数据表、写入数据表、读取数据表、删除数据表。也包括了最基础的让c运行sqlite3.内容供读者…本博文源于笔者操作sqlite3借鉴了很多文章的思路这里并整理了c常用的对数据库的操作供大家点赞收藏以后备用。包含了c对sqlite3的创建数据库、创建数据表、写入数据表、读取数据表、删除数据表。也包括了最基础的让c运行sqlite3.内容供读者参考希望对大家有所帮助。
1、如何让c运行sqlite3
虽然让c运行sqlite3不是重点但这里放个连接供大家参考。 跳转链接
2、创建数据库
void CreateDataBase(const char* dataBaseName) {int result sqlite3_open_v2(dataBaseName, sql, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_SHAREDCACHE, NULL);if (result SQLITE_OK) {std::cout 打开数据库连接成功 std::endl;;}else {std::cout 打开数据库连接失败 std::endl;}
}3、创建数据表
void CreateTable(const char* tableContent) {sqlite3_stmt* stmt NULL; //stmt语句句柄int result sqlite3_prepare_v2(sql, tableContent, -1, stmt, NULL);if (result SQLITE_OK) {std::clog 创建数据表成功 std::endl;sqlite3_step(stmt);}else {std::clog 创建数据表失败 std::endl;}sqlite3_finalize(stmt);
}写入语句
void InsertValue(const char* sqlContent) {// 表单中插入信息//进行插入前的准备工作——检查语句合法性//-1代表系统会自动计算SQL语句的长度sqlite3_stmt* stmt NULL;int result sqlite3_prepare_v2(sql, sqlContent, -1, stmt, NULL);if (result SQLITE_OK) {std::clog 添加数据语句OK std::endl;//执行该语句sqlite3_step(stmt);}else {std::clog 添加数据语句有问题 std::endl;}//清理语句句柄准备执行下一个语句sqlite3_finalize(stmt);
}
读取信息 void ReadTable() {// 查询char* errmsg;char** mResult;//结果集int mRow;//行数int mCol;//列数int nResult sqlite3_get_table(sql, select * from devices;, mResult, mRow, mCol, errmsg);int nIndex mCol;cout mRow: mRow endl;cout mCol: mCol endl;if (mRow 0 mCol 0){for (int i 0; i mRow; i){for (int j 0; j mCol; j){cout mResult[j] : mResult[nIndex] endl;nIndex;}cout endl;}sqlite3_free_table(mResult);}
}删除数据表
void DelTable(const char* sqlContent) {sqlite3_stmt* stmt NULL;int result sqlite3_prepare_v2(sql, sqlContent, -1, stmt, NULL);if (result SQLITE_OK) {std::clog 删除数据完毕OK std::endl;sqlite3_step(stmt);}else {std::clog 删除数据有问题 std::endl;}
}完整测试样例
int main() {//创建数据库CreateDataBase();//创建数据表const char *sqlCreateTable CREATE TABLE IF NOT EXISTS devices (deviceid INTEGER PRIMARY KEY,devMac TEXT,devSn TEXT,keySn TEXT,matNum TEXT,openId TEXT,workNum TEXT);;CreateTable(sqlCreateTable);//插入数据const char *sqlInsert INSERT INTO devices VALUES (1, 00:12:31:8f:a7:52,812aab3b5b57cce4,0012110909801968,,64e0886f60b2be8101031868,lc123);;InsertValue(sqlInsert);//读取数据ReadTable();//删除数据//const char* sqlDel delete from devices where deviceid1;//DelTable(sqlDel);//ReadTable();system(pause);return 0;
}测试效果
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87371.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!