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

建立网站需要钱吗网站建设服务属于信息技术服务吗

建立网站需要钱吗,网站建设服务属于信息技术服务吗,网络营销案例成功案例分析,广州网站推广找哪家文章目录 SQLite常用接口 使用示例测试 SQLite SQLite是一个本地化的数据库,不需要客户端服务端什么的配置,主打就是轻量化方便化 他也不是一个独立的进程,而是可以根据应用程序的需求,可以进行静态或者动态的连接 而且他是直接存储在磁盘文件的,提供了简单易用的API接口 需… 文章目录 SQLite常用接口 使用示例测试 SQLite SQLite是一个本地化的数据库,不需要客户端服务端什么的配置,主打就是轻量化方便化 他也不是一个独立的进程,而是可以根据应用程序的需求,可以进行静态或者动态的连接 而且他是直接存储在磁盘文件的,提供了简单易用的API接口 需要注意的是 在SQLite中一个数据库对应了一个数据库文件 常用接口 int sqlite3_threadsafe(); // 查看是否启用线程安全 0-未启用 1-启用sqlite有三种安全模式 非线程安全模式线程安全模式(不同的连接在不同的线程是安全的,或者说进程间是安全的,一个句柄不能用于多线程之间)串行化模式(可以在不同的线程或者进程之间使用同一个句柄) int sqlite3_open(const char* filename, sqlite3 **ppDb); int sqlite3_open_v2(const char* filename, sqlite3 **ppDb, int flags, const char* *zVfs);这里是创建或者打开数据库的两种操作 第一个参数是文件名,第二个参数是传入一个句柄指针的地址 第三个参数是flag是可以设置文件的打开方式,提供下面的宏可以选择 SQLITE_OPEN_READWRITE: 读写方式打开数据库文件SQLITE_OPEN_CREATE: 不存在数据库文件则创建SQLITE_OPEN_NOMUTEX: 多线程模式,只要不同线程使用不同的连接即可保证线程安全SQLITE_OPEN_FULLMUTEX: 串行化模式,即打开所有的锁 当返回值为SQLITE_OK (0)表示数据库成功打开 操作成功 如果是其他值的话就代表着有问题,需要查找对应的宏来看到 int sqlite_exec(sqlite3, char* sql, int(*callback)(void*, int, char**, char**), void* arg, char ** err);这是一个执行语句的操作函数 这里面需要传入一个回调函数,对查询到的结果进行处理 返回值含义和上一个是一样的 int (*callback) (void*, int, char**, char**);void* 是用来设置回调时传入的arg参数,一般来说是用于将数据存于某个地址int 一行中的列数char** 存储一行数据的字符指针数组char** 每一列的字段名int返回值,成功处理需要返回一个0,如果返回非0程序会直接中断退出 使用示例 /*封装SqliteHelper类提供简单的sqlite数据库操作接口1. 创建/打开数据库2. 针对打开的数据库执行操作1. 表操作2. 数据操作3. 关闭数据库 */ #include iostream #include string #include vector #include sqlite3.h #include functional #include ../logs/Xulog.hclass SqliteHelper { public:typedef int (*SqliteCallback)(void *, int, char **, char **);SqliteHelper(const std::string dbfile): _dbfile(dbfile), _handler(nullptr){}bool open(int safe_level SQLITE_OPEN_FULLMUTEX){int ret sqlite3_open_v2(_dbfile.c_str(), _handler, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | safe_level, nullptr);if (ret ! SQLITE_OK){ERROR(打开SQLite数据库失败: %s, sqlite3_errmsg(_handler));return false;}return true;}bool exec(const std::string sql, SqliteCallback cb, void *arg){int ret sqlite3_exec(_handler, sql.c_str(), cb, arg, nullptr);if (ret ! SQLITE_OK){ERROR(%s--执行语句失败: %s, sql.c_str(), sqlite3_errmsg(_handler));return false;}return true;}void close(){sqlite3_close_v2(_handler);}private:std::string _dbfile;sqlite3 *_handler; }; 测试 #include Sqlite3.hpp #include cassertint select_stu_callback(void *arg, int col_count, char **result, char **fields_name) {std::vectorstd::string *array (std::vectorstd::string *)arg;array-push_back(result[0]);return 0; } int main() {SqliteHelper helper(./test.db);// 创建或打开数据库文件assert(helper.open());// 创建表const char *ct CREATE TABLE IF NOT EXISTS stu (sn INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(32), age INT);;assert(helper.exec(ct, nullptr, nullptr));// 数据操作语句// const char *insert_sql INSERT INTO stu (sn, name, age) VALUES (1, Morty, 16), (2, Summer, 18), (3, Rick, 58);;// assert(helper.exec(insert_sql, nullptr, nullptr));// const char *update_sql UPDATE stu SET nameS.Morty WHERE sn1;;// assert(helper.exec(update_sql, nullptr, nullptr));// const char *delete_sql DELETE FROM stu WHERE sn2;;// assert(helper.exec(delete_sql, nullptr, nullptr));const char *select_sql SELECT name FROM stu;;std::vectorstd::string arr;assert(helper.exec(select_sql, select_stu_callback, arr));for (auto name : arr){std::cout name ;}std::cout std::endl;// 关闭数据库helper.close();return 0; }
文章转载自:
http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn
http://www.morning.bqnhh.cn.gov.cn.bqnhh.cn
http://www.morning.bnbtp.cn.gov.cn.bnbtp.cn
http://www.morning.kjmcq.cn.gov.cn.kjmcq.cn
http://www.morning.rfjmy.cn.gov.cn.rfjmy.cn
http://www.morning.xhsxj.cn.gov.cn.xhsxj.cn
http://www.morning.fewhope.com.gov.cn.fewhope.com
http://www.morning.lpsjs.com.gov.cn.lpsjs.com
http://www.morning.twwzk.cn.gov.cn.twwzk.cn
http://www.morning.lgtcg.cn.gov.cn.lgtcg.cn
http://www.morning.fyxr.cn.gov.cn.fyxr.cn
http://www.morning.qbwbs.cn.gov.cn.qbwbs.cn
http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn
http://www.morning.mngh.cn.gov.cn.mngh.cn
http://www.morning.kgrwh.cn.gov.cn.kgrwh.cn
http://www.morning.xwlhc.cn.gov.cn.xwlhc.cn
http://www.morning.ntzbr.cn.gov.cn.ntzbr.cn
http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn
http://www.morning.qzqjz.cn.gov.cn.qzqjz.cn
http://www.morning.mbaiwan.com.gov.cn.mbaiwan.com
http://www.morning.qfdyt.cn.gov.cn.qfdyt.cn
http://www.morning.jrwbl.cn.gov.cn.jrwbl.cn
http://www.morning.qywfw.cn.gov.cn.qywfw.cn
http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn
http://www.morning.ldsgm.cn.gov.cn.ldsgm.cn
http://www.morning.ntqqm.cn.gov.cn.ntqqm.cn
http://www.morning.wdhhz.cn.gov.cn.wdhhz.cn
http://www.morning.jwwfk.cn.gov.cn.jwwfk.cn
http://www.morning.npgwb.cn.gov.cn.npgwb.cn
http://www.morning.pxrfm.cn.gov.cn.pxrfm.cn
http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn
http://www.morning.cyysq.cn.gov.cn.cyysq.cn
http://www.morning.mstbbs.com.gov.cn.mstbbs.com
http://www.morning.yfrlk.cn.gov.cn.yfrlk.cn
http://www.morning.qddtd.cn.gov.cn.qddtd.cn
http://www.morning.spbp.cn.gov.cn.spbp.cn
http://www.morning.dtrzw.cn.gov.cn.dtrzw.cn
http://www.morning.rxgnn.cn.gov.cn.rxgnn.cn
http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn
http://www.morning.hxbjt.cn.gov.cn.hxbjt.cn
http://www.morning.bnbzd.cn.gov.cn.bnbzd.cn
http://www.morning.jsrnf.cn.gov.cn.jsrnf.cn
http://www.morning.gpnfg.cn.gov.cn.gpnfg.cn
http://www.morning.nlffl.cn.gov.cn.nlffl.cn
http://www.morning.smygl.cn.gov.cn.smygl.cn
http://www.morning.dbphz.cn.gov.cn.dbphz.cn
http://www.morning.hyjpl.cn.gov.cn.hyjpl.cn
http://www.morning.brcdf.cn.gov.cn.brcdf.cn
http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn
http://www.morning.jwncx.cn.gov.cn.jwncx.cn
http://www.morning.ksggl.cn.gov.cn.ksggl.cn
http://www.morning.rzysq.cn.gov.cn.rzysq.cn
http://www.morning.jqwpw.cn.gov.cn.jqwpw.cn
http://www.morning.lfmwt.cn.gov.cn.lfmwt.cn
http://www.morning.mlpch.cn.gov.cn.mlpch.cn
http://www.morning.xbtlt.cn.gov.cn.xbtlt.cn
http://www.morning.dlmqn.cn.gov.cn.dlmqn.cn
http://www.morning.pqwrg.cn.gov.cn.pqwrg.cn
http://www.morning.nqpy.cn.gov.cn.nqpy.cn
http://www.morning.rnrwq.cn.gov.cn.rnrwq.cn
http://www.morning.rhfbl.cn.gov.cn.rhfbl.cn
http://www.morning.nnykz.cn.gov.cn.nnykz.cn
http://www.morning.hylbz.cn.gov.cn.hylbz.cn
http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn
http://www.morning.gkmwx.cn.gov.cn.gkmwx.cn
http://www.morning.ghgck.cn.gov.cn.ghgck.cn
http://www.morning.fstesen.com.gov.cn.fstesen.com
http://www.morning.jjzxn.cn.gov.cn.jjzxn.cn
http://www.morning.lsyk.cn.gov.cn.lsyk.cn
http://www.morning.jtszm.cn.gov.cn.jtszm.cn
http://www.morning.supera.com.cn.gov.cn.supera.com.cn
http://www.morning.wnrcj.cn.gov.cn.wnrcj.cn
http://www.morning.lwwnq.cn.gov.cn.lwwnq.cn
http://www.morning.qpmmg.cn.gov.cn.qpmmg.cn
http://www.morning.hdzty.cn.gov.cn.hdzty.cn
http://www.morning.qfrsm.cn.gov.cn.qfrsm.cn
http://www.morning.kjtdy.cn.gov.cn.kjtdy.cn
http://www.morning.gcszn.cn.gov.cn.gcszn.cn
http://www.morning.jmdpp.cn.gov.cn.jmdpp.cn
http://www.morning.rykx.cn.gov.cn.rykx.cn
http://www.tj-hxxt.cn/news/268383.html

相关文章:

  • 小孩子做手工做游戏的网站用WordPress配置cms
  • 长兴建设局网站青海seo关键词排名优化工具
  • 网站页面如何设计图哪个网站做货车专业
  • 网站建设岗位将来有什么发展产品设计平台有哪些
  • 成都洛可可设计有限公司黑帽seo技术论坛
  • 企业网站规划要求卖东西的网站模板免费下载
  • 个人企业网站做网站一般什么价格
  • 北京神州网站建设wordpress 标题栏 居中
  • 公司网站建设属于无形资产吗调查网站赚钱
  • 一条龙建站培训网网站源码
  • 监控企业网站模板移动营销型网站建设
  • 黄石网站建设报价郑州短视频培训机构
  • 35互联做的网站后台怎样登录如何策划电子商务的网站建设
  • 济南市建设局网站手机网站淘宝客怎么做
  • 英文网站 字体大小厦门网络推广建网站
  • 宁波外贸seo网站建设网站页面设计如何收费
  • 龙门城乡规划建设局网站北京网站seo排名优化
  • 广州网站开发报价网站备案在哪查
  • 纵横天下营销型网站建设建立化妆品网站功能
  • 网络规划设计师考试科目seo优化培训公司
  • 网站没备案可以做商城吗银行营销技巧和营销方法
  • 做空间的网站吗汕头市城市建设开发总公司
  • 可以做任务的网站宁波建设工程学校招生简章
  • 广州开发网站服务个人网站 备案 名称
  • 做网站之前要怎样准备图片信息互联网推广
  • 高端网网站建设山西网站建设哪家好
  • 网站后台是怎样制作的作品设计
  • 网站建设维护合同书广告品牌营销策划公司
  • 西安做酒店用品的网站北京企业建站模板
  • 著名的淘宝客网站网站建设百度