当前位置: 首页 > news >正文

gbk的网站 utf8的数据库如何自制网站

gbk的网站 utf8的数据库,如何自制网站,安阳做一个网站多少钱,做织梦网站的心得体会背景 最近在学习《深入应用C11: 代码优化与工程级应用》,其中第13章说到SQLite库,查询网上诸多教程,发现比较容易出现bug且配置较为麻烦,故记录此次简化版方案,以供参考。 软件环境 SQLite 3.42.0 版本(仅…
  1. 背景
    最近在学习《深入应用C++11: 代码优化与工程级应用》,其中第13章说到SQLite库,查询网上诸多教程,发现比较容易出现bug且配置较为麻烦,故记录此次简化版方案,以供参考。

  2. 软件环境
    SQLite 3.42.0 版本(仅下载Source code即可)
    VSCode+CMake+SQLite Viewer
    在这里插入图片描述

  3. VSCode + SQLite文件目录
    在这里插入图片描述
    (注:仅需左侧红色框内容,其余均为编译生成结果)

  4. 测试代码

#include<iostream>
#include<string>
#include"sqlite3.h"using namespace std;bool test_sqlite() {sqlite3* db_handle = nullptr;int result = sqlite3_open("test.db", &db_handle);if(result != SQLITE_OK) {sqlite3_close(db_handle);return false;}// create tableconst char* sql_create = "CREATE TABLE if not exists personTable(ID INTEGER NOT NULL, Name Text, Address Text);";result = sqlite3_exec(db_handle, sql_create, nullptr, nullptr, nullptr);// insert data// create stmtsqlite3_stmt* stmt = nullptr;const char* sql_insert = "INSERT INTO personTable(ID, Name, Address) VALUES(?, ?, ?);";sqlite3_prepare_v2(db_handle, sql_insert, strlen(sql_insert), &stmt, nullptr);// update dataint id = 1;const char* name = "Sqlite3";const char* address = "Database";sqlite3_bind_int(stmt, 1, id);sqlite3_bind_text(stmt, 2, name, strlen(name), SQLITE_TRANSIENT);sqlite3_bind_text(stmt, 3, address, strlen(address), SQLITE_TRANSIENT);sqlite3_step(stmt);result = sqlite3_exec(db_handle, sql_insert, nullptr, nullptr, nullptr);// free stmtsqlite3_finalize(stmt);// close sqlitesqlite3_close(db_handle);return result = SQLITE_OK;
}int main() {cout << test_sqlite() << endl;return 0;
}
  1. 外层CMakeLists.txt配置
cmake_minimum_required (VERSION 3.0)PROJECT(sqlite3_demo)set(CMAKE_BUILD_TYPE Release)set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
include_directories(${PROJECT_SOURCE_DIR}/include)
link_directories(${PROJECT_SOURCE_DIR}/lib)
add_subdirectory(${PROJECT_SOURCE_DIR}/src)
  1. 内层CMakeLists.txt配置
# cmake needs this line
SET(CMAKE_BUILD_TYPE "Release")add_library(sqlite3 ../include/sqlite3)
add_executable(main main.cpp)
target_link_libraries(main sqlite3)
  1. 小结
    1)理解了CMake的编译原理就不在需要诸如sqlite3.def,sqlite3.exe文件,通过手动编译的方式,自动生成sqlite3.lib,更加实用便捷,且不需要调用vs studio的lib.exe等命令(需要管理员权限);
    2)SQLite提供了丰富的API,因此手动编译源码,方便函数的查询和源码的理解;
    3)SQLite的数据处理pipeline较为繁琐,接下来将尝试书中方法,进行二次封装简化。
http://www.shuangfujiaoyu.com/news/37755.html

相关文章:

  • 网站建设去哪重庆网站关键词排名
  • 关于网站备案的公告河南做网站优化
  • 网站性能优化方案整站优化seo平台
  • 南昌网站seo外包友链交换网站
  • 豪华网站建设品牌运营策划方案
  • 软件开发面试问题大全及答案大全杭州优化外包
  • 四川做网站优化价格网站模板购买
  • 网站建设 ui设计品牌营销策划公司排名
  • 做项目接任务的网站百度热词搜索指数
  • 外贸仿牌网站建设湖南百度推广公司
  • 计算机培训中心网站谷歌推广哪家好
  • 做淘宝网站买个模版可以吗网络推广员好做吗
  • 广州个人网站制作郑州外语网站建站优化
  • 做威客上什么网站比较好百度广告收费表
  • 找做网站的公司需要注意什么站长工具seo综合查询怎么用
  • 杭州做网站博客网站开发工具
  • 网站外链建设可以提升网站权重对还是错百度加盟
  • t恤在线制作网站怎样搭建自己的网站
  • 怎么做网站背景图seo人员的相关薪资
  • 网站后台传不了图片媒体营销平台
  • 怎么样把以前做的网站删除四川疫情最新消息
  • 网页javascript设计网站seo怎么才能做好
  • 网站简单布局图公司网页制作模板
  • 做的比较好的二手交易网站有哪些西安百度网站快速优化
  • 网站设计的主要步骤成都最新消息今天
  • 住房和城乡建设部官方网站发布aso应用商店优化
  • 做枸杞的网站广州最新新闻事件
  • 直播网站开发接入视频数字营销公司排行榜
  • 法律网站建设实施方案2023第二波疫情已经到来
  • 江苏水利建设网站招代理最好的推广方式