sqlite3查看数据库中有哪些表(代码)

2023-10-27

说实话,用代码实现sqlite3查看数据库中有哪些表我还真的没找到现成资源,网上提供的语句还真用不了抓狂,而且大多都是命令行语句,由于的做的MFC项目要用到这个功能,特意学习了下,下面分享我的成果,希望可以帮到你.

环境:VS2005

#include "sqlite3.h"
#include <iostream>
#include "string.h"

#pragma comment(lib,"sqlite_win32_dll.lib")

using namespace std;

int main()
{ 
	sqlite3 * datb = NULL;                  //要定义全局变量
	int ret = sqlite3_open("demo.db",&datb);
	if(ret == SQLITE_OK)
	{
		cout << "demo.db打开成功!" << endl;
	}
	else
	{
		cout << "demo.db打开失败!" << endl;
		return 0;
	}
	char * errmsg;                             //要定义全局变量

	char str3[1024] = {"create table "};
	char * str11 = "List";
	strcat(str3,str11);
	char *str2 = "(id int primary key,name text)";
	strcat(str3,str2);
	char sql[1024] = {0};
	sprintf(sql,"drop table if exists %s",str11);
	sqlite3_exec(datb,sql,NULL,NULL,&errmsg);  //在创建表时,如果表存在,则删除
	
	ret = sqlite3_exec(datb,str3,NULL,NULL,&errmsg);

	
	if(ret == SQLITE_OK)
	{
		cout << "demoF表创建成功!" << endl;
	}
	//插入记录
	const char * str7 = "insert into demoF values(1,'zhang')";
	const char * str8 = "insert into demoF values(2,'li')";
	const char * str9 = "insert into demoF values(3,'wang')";
	const char * str10 = "insert into demoF values(4,'cheng')";
        sqlite3_exec(datb,str7,NULL,NULL,&errmsg);
	sqlite3_exec(datb,str8,NULL,NULL,&errmsg);
	sqlite3_exec(datb,str9,NULL,NULL,&errmsg);
	sqlite3_exec(datb,str10,NULL,NULL,&errmsg);
	//查询表
    char **dbresult;
	int j,nrow,ncolumn,index = 0;
	//ret = sqlite3_get_table(datb,"select name from demo.db where type='U' and name like '%demo%' ",&dbresult,&nrow,&ncolumn,&errmsg);
	//ret = sqlite3_get_table(datb,"select * from all_tables ",&dbresult,&nrow,&ncolumn,&errmsg);
	//ret = sqlite3_get_table(datb,"select name from demo.db where type='table' order by name ",&dbresult,&nrow,&ncolumn,&errmsg);
	ret = sqlite3_get_table(datb,"select name from sqlite_master where type ='table'order by name ",&dbresult,&nrow,&ncolumn,&errmsg);
    if(ret == SQLITE_OK)
	{
		for(int i = 0;i <= nrow; i++)
            /*for(j = 0;j < ncolumn;j++)*/
			{
			    cout <<  dbresult[index] << endl;
		
                index++;
			}
			cout << nrow << ncolumn << endl;

      }

可以看看我试了多少种语句(只有最后一个是有用的哭)

运行结果


这个结果可以看出表在存的时候是2行1列,那个name是名字提示,下面的List,demoF才是表的真正名字.

如果你能看到我发的博客,那么你还算幸运吐舌头因为我被这个功能卡了三个星期(主要是网上资源太乱,而且没有代码实现方法,难受)




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqlite3查看数据库中有哪些表(代码) 的相关文章

  • [开发|C++] Qt编译Sqlite3数据库驱动

    系统环境 系统 xff1a Deepin 20 2 1 Qt版本 xff1a 5 15 1 qmake版本 xff1a 3 1 Gcc版本 xff1a 8 3 0 源代码下载 见Qt常用资料 中科大镜像站下载点 编译依赖安装 span cl
  • mysql trigger 使用以及与 sqlite3 trigger 比较

    一 触发事件的表与触发更新的表使用同一个表 使用情景 xff0c 表里的某行数据发生update时自动更新修改时间 updated sqlite3 3 40 0 MariaDB 10 10 2 对应 MySQL 8 1 sqlite3 up
  • sqlite3

    一 版本 从 www sqlite org 网站可下载到最新的 sqlite 代码和编译版本 写此文章时 xff0c 最新代码是 3 3 17 版本 二 基本编译 把 sqlite3 c 和 sqlite3 h 添加到工程 xff0c 再新
  • 【Go】Go Gorm Sqlite3 CreateInBatches 报错:too many SQL variable 排查与解决

    Go xff1a 1 17 7 Gorm xff1a gorm io gorm v1 22 3 Gorm Sqlite3 driver gorm io driver sqlite v1 2 4 mattn Sqlite3 github co
  • 2017-06-08 每日一记 sqlite3_bind_blob函数

    sqlite3函数 xff1a sqlite3 bind blob stat 1 pdata int length of data in bytes NULL 参数1 xff1a sqlte stmt 参数2 xff1a 的索引 xff0c
  • SQLite3源码学习(31) WAL日志的锁机制

    1 锁的原理 先来回顾一下回滚日志的文件锁 xff0c 之前的锁是针对数据库文件加锁的 xff0c 有4种类型 xff0c 分别是shared reserverd pending和exclusive 在WAL日志模式下不再使用原来的锁 xf
  • sqlite3 database is locked 问题解决方案

    sqlite3 database is locked 问题解决方案 sqlite3只支持一写多读 读与读可以同时进行 读与写不可同时进行 写与写不可同时进行 一写多读的案例 场所 span class token punctuation s
  • 2、基于ARM平台Golang简单Demo:使用sqlite3数据库

    arm平台为M3352核心板 编译环境为Ubuntu14 04 目标 在Ubuntu环境编译Go代码 在arm平台运行 使用sqlite3数据库 源代码文件名 main go package main import database sql
  • SQLite Database Introduction

    Use SQLite installed on Linux CentOS7 to introduce You can also use python to install SQLite3 for learning SQLite Prefac
  • sqlite3查看数据库中有哪些表(代码)

    说实话 用代码实现sqlite3查看数据库中有哪些表我还真的没找到现成资源 网上提供的语句还真用不了 而且大多都是命令行语句 由于的做的MFC项目要用到这个功能 特意学习了下 下面分享我的成果 希望可以帮到你 环境 VS2005 inclu
  • QSqlite3创建数据库表格时出现的create error QSqlError(““, ““, ““)

    QSqlite3创建数据库表格时出现的create error QSqlError 这个问题卡了很长时间 连接数据库成功了 但是创建表格时一直失败 通过 qCritical lt lt file lt
  • sqlite3数据库交叉编译并移植到嵌入式开发环境步骤

    一 首先到http www sqlite org download html下载linux版本的源码 sqlite autoconf 3130000 tar gz 二 解压 tar xvzf sqlite autoconf 3130000
  • sqlite3安装错误 node-pre-gyp http 403

    sqlite3安装错误 如图可以发现 访问 https mapbox node binary s3 amazonaws com sqlite3 v5 0 1 napi v6 win32 x64 tar gz 报错 403 我们用浏览器进去
  • Sqlite3之C++开发常用API总结

    文章目录 Sqlite3之C 开发常用API总结 使用流程 sqlite3 open Sqlite3 prepare sqlite3 bind sqlite3 step sqlite3 column sqlite3 exec sqlite3
  • 【Go】sqlite3包配置和使用

    系统 Win10 IDE VsCode 1 初始化mod 在项目中先初始化mod 已经初始化过则忽略 打开终端 快捷键Ctrl Shift 执行go mod init xxx xxx为文件夹名 2 获取sqlite3 在golang官网的p
  • Sqlite3 C++ 使用方法

    需要在 C 程序中读写 sqlite3 数据库 查阅了一下资料 发现了一个简单实用教程 另外还有如何在windows下生成sqlite3静态库 生成好的sqlite3静态库可以在这里下载 windows下生成sqlite3静态库 去 sql
  • 使用sqlite3 模块操作sqlite3数据库

    Python内置了sqlite3模块 可以操作流行的嵌入式数据库sqlite3 如果看了我前面的使用 pymysql 操作MySQL数据库这篇文章就更简单了 因为它们都遵循PEP 249 所以操作方法几乎相同 废话就不多说了 直接看代码吧
  • 使用python和pyqt5轻松上手人脸识别系统(含代码)

    使用python和pyqt5轻松上手人脸识别系统 含代码 一 环境配置 1 1 python环境配置 1 1 1 安装 anaconda 1 1 2 安装pycharm 1 1 3 配置pip源 1 2 mysql数据库安装 1 3 相关依
  • sqlite3的交叉编译

    比如说我们在qtcreator中编写程序的时候想用到sqlite3数据库 但是因为qtcreator中的编译器中的库中并没有sqlite3的库 所以肯定编译不了 所以若想在qtcreator中编译sqlite3的程序 首先的将sqlite3
  • 嵌入式数据库——sqlite3

    前言 数据库是 按照数据结构来组织 存储和管理数据的仓库 是一个长期存储在计算机内的 有组织的 可共享的 统一管理的大量数据的集合 数据库是以一定方式储存在一起 能与多个用户共享 具有尽可能小的冗余度 与应用程序彼此独立的数据集合 可视为电

随机推荐

  • antd Pro脚手架安装踩坑

    1 node安装 2 初始化 npm i ant design pro cli g 3 创建项目文件夹 pro create myapp 出现问题 无法加载文件 C Users AppData Roaming npm cnpm ps1 因为
  • springcloud项目详解一:基本部署

    1 是什么 springcloud是一系列框架的有序集合 它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发 如服务发现注册 配置中心 消息总线 负载均衡 断路器 数据监控等 都可以用Spring Boot的开发风
  • CS285课程笔记(5.(1))——从概率图角度理解强化学习(变分推断原理+VAE)

    Lecture 18 19 2020版 这两节课的核心内容就是如何把强化学习问题 又可以称为最优控制问题 转化为一个基于概率图模型的推断问题 这里的推断又可以进一步细分为精确推断 Exact Inference 和近似推断 Approxim
  • Flutter AudioPlayer单例模式

    一 前言 一般情况下 audioPlayer最好设置成单例模式 这样在跨页面操作时会更好的使用 确保所有对象都访问一个实例 二 引用 audioplayers 功能 控制mp3文件播放 地址 https pub dev packages a
  • LAStools

    LASlib with LASzip DLL are LAStools http www cs unc edu isenburg lastools
  • ctfshow-WEB-web7

    ctf show WEB模块第7关是一个SQL注入漏洞 注入点是数值型注入 源码中过滤了空格 我们可以使用括号 或者注释 来代替空格 页面中有一个文章列表 随便点一个 从url地址栏中可以看到 页面通过文章的id值来查询文章内容 我们可以考
  • SAS EM之SAS Credit Scoring不能使用

    SAS EM之SAS Credit Scoring不能使用 关于SAS EM找不到记分卡问题 我们要去看SAS Credit Scoring license有没有许可 未许可的话是不能使用的 这是我之前不能使用的截图 是没有信用评分这个节点
  • vue项目中使用神策进行数据埋点

    前言 在vue种使用神策进行数据埋点 一 数据埋点的意义 所谓埋点就是在应用中特定的流程收集一些信息 用来跟踪应用使用的状况 后续用来进一步优化产品或是提供运营的数据支撑 包括访问数 Visits 访客数 Visitor 停留时长 Time
  • 什么是轴向注意力(Axial Attention)机制

    Axial Attention 轴向注意力 有行注意力 row attention 和列注意力 column attention 之分 一般是组合使用 原文阅读 https arxiv org pdf 1912 12180v1 pdf se
  • Android自动化测试,5个必备的测试框架

    Appium Appium是一个开源的移动测试工具 支持iOS和Android 它可以用来测试任何类型的移动应用 原生 网络和混合 作为一个跨平台的工具 你可以在不同的平台上运行相同的测试 为了实现跨平台的功能 Appium使用了供应商提供
  • 【AD21】keepout层和机械1层怎么相互转换

    1 从keepout转换为Mechanical 1层 见下图 图1 图2 图3 图4 2 从keepout转换为Mechanical 1层 见下图 如果想要将keepout层转换成机械1层 可以先全选中想要转换的keepoutz层 然后在c
  • Docker之旅:在Docker容器中创建第一个程序

    Docker的概念 Docker是开发人员和系统管理员 使用容器开发 部署和运行应用程序的平台 使用Linux容器来部署应用程序称为集装箱化 容器不是新的事物 但它们用于轻松部署应用程序 一 测试一下Docker的版本 1 查看Docker
  • 实用工具推荐,浏览器必备宝藏插件:Wetab新标签页

    打开浏览器 你的起始页是否充满了广告和各种乱七八糟的信息呢 或者过于单调 而失去了某些你想要的功能 这里给大家推荐一个在Chrome浏览器和edge浏览器上都能愉快使用的浏览器插件 Wetab新标签页 没有广告 页面干净美观且具备各种实用功
  • android live 电视 源码,GitHub - mxiaoguang/LivePlayback: Android TV直播电视节目 ,包含各央视频道及卫视频道...

    Android TV直播电视节目 更多技术博客 项目 欢迎关注公众号 Android TV开发交流群 135622564 传统电视直播节目 在Android TV上起着越来越重要的作用 央视 各地卫视 满足观众日益增长的多元化需求 看下效果
  • IV转换电路原理图

    毫安级IV转换电路如下 如果要uA级转换 可把运放改为 D795 SG 8210 L C6482等输入偏置电流在pA级的运
  • tomcat配置443端口

  • true_type与false_type

    std true type和std false type 实际上是类型别名 是两个类型 类模板 注意区分true type与false type与true和false区别 true type false type代表类型 true fals
  • 【项目实战】Python基于局部离群因子LOF算法(LocalOutlierFactor)实现信用卡数据异常值检测项目实战

    说明 这是一个机器学习实战项目 附带数据 代码 文档 代码讲解 如需数据 代码 文档 代码讲解可以直接到文章最后获取 1 项目背景 异常检测是数据挖掘领域研究的基本问题之一 已被广泛应用于网络入侵检测 信用卡欺诈侦查等领域 局部离群因子 简
  • 以太坊客户端Geth命令用法-参数详解

    Geth是在以太坊智能合约开发中最常用的工具 必备开发工具 一个多用途的命令行工具 熟悉Geth可以让我们有更好的效率 大家可收藏起来作为Geth命令用法手册 本文主要是对geth help的翻译 基于最新的geth 1 7 3 stabl
  • sqlite3查看数据库中有哪些表(代码)

    说实话 用代码实现sqlite3查看数据库中有哪些表我还真的没找到现成资源 网上提供的语句还真用不了 而且大多都是命令行语句 由于的做的MFC项目要用到这个功能 特意学习了下 下面分享我的成果 希望可以帮到你 环境 VS2005 inclu