新的第一次用vs2013搞 C++连接sqlite数据库,遇到了很多问题,我也不搞不懂~~~下面写点小体会

首先:

你要先配置好sqlite的环境

参考链接:

https://blog.csdn.net/ijinfu/article/details/68485273

https://www.cnblogs.com/chechen/p/7356010.html

配置好之后捏:

跟着写,跟着操作,结果运行出现了许多   不是找不到数据库  就是 no such table,我真的是  吃柠檬吧!!!

下面给上我的测试代码:

数据创建路径,这个是非常重要的,不然到时候读取不到~

随便在一个盘建个文件夹名字自己想  如 :  D:\sqlite

接着 cmd

进入到文件夹目录,可以开始创建数据库了

创建数据库命令  : sqlite3  数据库名字  如:sqlite3 test.db;

创建完数据就是建表了: 

  1. CREATE TABLE student(
  2.  
  3. ID INT PRIMARY KEY NOT NULL,
  4. NAME TEXT NOT NULL,
  5.  
  6. AGE INT NOT NULL,
  7.  
  8. ADDRESS CHAR(),
  9.  
  10. FEES REAL
  11. );

 表格创建完毕,没有数据怎么办?当然是插入~

  1. INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES)
  2.  
  3. VALUES (, 'Maxsu', , 'Shengzhen', 20000.00);
  4.  
  5. INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES)
  6.  
  7. VALUES (, 'Minsu', , 'Beijing', 15000.00 );
  8.  
  9. INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES)
  10.  
  11. VALUES (, 'Avgsu', , 'Shanghai', 2000.00 );
  12.  
  13. INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES)
  14.  
  15. VALUES (, 'Linsu', , 'Guangzhou', 65000.00 );
  16.  
  17. INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES)
  18.  
  19. VALUES (, 'Sqlsu', , 'Haikou', 25000.00

如图:

ok,接下来是代码部分~~(代码也是参考修改的)

  1. #include "stdafx.h"
  2. #include "sqlite3.h"
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. sqlite3 * pDB = NULL;
  7.  
  8. //查找
  9. bool SelectUser();
  10.  
  11. int _tmain(int argc, _TCHAR* argv[])
  12. {
  13. //打开路径采用utf-8编码
  14. //如果路径中包含中文,需要进行编码转换
      //路径非常重要,如果找不到,会自己创一个新的
  1. int nRes = sqlite3_open("D:\\sqlite\\test.db", &pDB);
  2. if (nRes != SQLITE_OK)
  3. {
  4. cout << "Open database fail: " << sqlite3_errmsg(pDB);
  5. goto QUIT;
  6. }
  7.  
  8. //查找
  9. if (!SelectUser())
  10. {
  11.  
  12. goto QUIT;
  13. }
  14.  
  15. QUIT:
  16. sqlite3_close(pDB);
  17.  
  18. return ;
  19. }
  20.  
  21. static int UserResult(void *NotUsed, int argc, char **argv, char **azColName)
  22. {
  23.  
  24. for (int i = ; i < argc; i++)
  25. {
  26.  
  27. cout << azColName[i] << " = " << (argv[i] ? argv[i] : "NULL") << ", ";
  28. }
  29. cout << endl;
  30. return ;
  31. }
  32.  
  33. bool SelectUser()
  34. {
  35. char* cErrMsg;
  36. int res = sqlite3_exec(pDB, "select * from student;", UserResult, , &cErrMsg);
  37.  
  38. if (res != SQLITE_OK)
  39. {
  40. cout << "select fail: " << cErrMsg << endl;
  41. return false;
  42. }
  43. return true;
  44. }

当然了你以为就成功了么 结果运行发现 不是找不到database  就是没发现table

怎么办?

先看看 有没有表:

没有student表

当然是再到命令窗口 继续建表和插入数据了

  1. .open test.db; //打开一个数据库,没有会新建
  2.  
  3. .database;   //查看数据库
  4.  
  5. .table     //查看数据表 是否存在
  6.  
  7. select * from student; //查看数据

ok    再次创建完毕,运行

关于第一次没有找到表,我也不知道什么鬼,但是我确实有创建,而再次创建就出来了,有点搞不懂。。。有遇到这样的情况么  欢迎骚扰~~~~

如果你有更好的连接方法,欢迎留言,一起交流~~~·

C++连接sqlite数据库的坑的更多相关文章

  1. VS2010连接SQLite数据库

    Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:This is the only setu ...

  2. Python3实现连接SQLite数据库的方法

    本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值.分享给大家供大家参考之用.具体方法如下: 实例代码如下: ? 1 2 3 4 5 6 7 8 ...

  3. 一起学微软Power BI系列-使用技巧(6) 连接Sqlite数据库

    好久没有研究Power BI了,看到高飞大神弄的东西,太惭愧了.今天有个小东西,数据在Sqlite里面,想倒腾到Power BI Desktop里面折腾一下,结果发现还不直接支持.所以只好硬着头皮上去 ...

  4. VS2010上连接SQLite数据库

    VS2010连接SQLite数据库 Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:Thi ...

  5. Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)

    系列文章导航 Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表) Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数) Adobe ...

  6. Delphi 2010下使用sqlitesimpledelphi连接SQLite数据库及中文乱码问题的解决

    应女朋友的要求,要写一款销售管理的软件.用于管理服装店每天的销售记录,已及管理服装店的客户,并对客户进行生日提醒 因为之前使用C#写过一款家庭管理软件,主要是自己用,所以使用了服务器型数据库MySQL ...

  7. C#连接SQLite数据库方法

    --结合Enterprise Library连接,操作SQLite 企业库是我们常用的框架之一,可以从http://entlib.codeplex.com/下载Enterprise Library 5 ...

  8. Java 连接SQLite数据库

    下载jar包: http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz public class TestSQLite { ...

  9. Perl连接Sqlite数据库

    Sqlite是一个小巧的嵌入式关系型数据库,几乎可以嵌入所有编程语言,特别是C,C++,PHP,Perl等.这里就介绍如何用Perl连接并操作Sqlite数据库. use DBI; # perl用以操 ...

随机推荐

  1. Caffe2 手册(Intro Tutorial)[2]

    Caffe2的相关概念   接下来你可以学到更多Caffe2中主要的概念,这些概念对理解和开发Caffe2相当重要. Blobs and Workspace,Tensors   Caffe2中,数据是 ...

  2. 深浅copy浅析

    Python代码在开始执行的时候,代码会被系统从硬盘调入内存,等候CPU执行,至于怎么个调入逻辑,还不清楚. 在高级语言中,变量是对内存及其地址的抽象.也就是说变量就是内存地址. 那么我们先来介绍两种 ...

  3. [经验] 关于 Java 中的非空判断

    在写项目的时候, 遇到一个问题 假设有一个控制层接口为: @ResponseBody @RequestMapping(value = "test", method = Reques ...

  4. 常用的sql指令

    一,关于数据库中表的一些介绍 1,表的每一行表示关系的一个元组,又称记录: 2,表的每一列表示关系的一个字段,又称属性(例如:id.name.password........): 3,  表结构:表的 ...

  5. C 如何判断编译器是否支持C90 C99?

    参考:<C Primer Plus>,Stephen Prata著,姜佑译. ANSI/ISO C标准 美国ANSI成立委员会X3J11,于89/90年,99年,11年,发布C标准:C89 ...

  6. express框架安装及中间件原理

    本文主要介绍express中间件的原理,来应对面试. 1.安装express及初始化: npm install express-generator -g   =>   express expre ...

  7. 虚拟对抗训练(VAT):一种用于监督学习和半监督学习的正则化方法

    正则化 虚拟对抗训练是一种正则化方法,正则化在深度学习中是防止过拟合的一种方法.通常训练样本是有限的,而对于深度学习来说,搭设的深度网络是可以最大限度地拟合训练样本的分布的,从而导致模型与训练样本分布 ...

  8. 十七 Spring的JDBC模版:使用开源连接池,DBCP,C3P0

    DBCP的配置以及使用 引入jar包

  9. ORM常用字段及查询

    目录 ORM常用字段及参数 创建表 ORM常用字段 ORM字段参数 ORM表关系创建 ForeignKey OneToOneField ManyToManyField 多对多三种创建方式 单表查询 q ...

  10. layer open type值类型

    参考:http://layer.layui.com/api.html layer提供了5种层类型: 0:信息框,默认 1:页面层 2:iframe层 3:加载层 4:tips层