新的第一次用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;

创建完数据就是建表了: 

CREATE TABLE student( 

ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(), FEES REAL
);

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

INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES) 

VALUES (, 'Maxsu', , 'Shengzhen', 20000.00); 

INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES) 

VALUES (, 'Minsu', , 'Beijing', 15000.00 ); 

INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES) 

VALUES (, 'Avgsu', , 'Shanghai', 2000.00 ); 

INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES) 

VALUES (, 'Linsu', , 'Guangzhou', 65000.00 ); 

INSERT INTO student (ID,NAME,AGE,ADDRESS,FEES) 

VALUES (, 'Sqlsu', , 'Haikou', 25000.00 )

如图:

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

#include "stdafx.h"
#include "sqlite3.h"
#include <iostream>
using namespace std; sqlite3 * pDB = NULL; //查找
bool SelectUser(); int _tmain(int argc, _TCHAR* argv[])
{
//打开路径采用utf-8编码
//如果路径中包含中文,需要进行编码转换
  //路径非常重要,如果找不到,会自己创一个新的
    int nRes = sqlite3_open("D:\\sqlite\\test.db", &pDB);
if (nRes != SQLITE_OK)
{
cout << "Open database fail: " << sqlite3_errmsg(pDB);
goto QUIT;
} //查找
if (!SelectUser())
{ goto QUIT;
} QUIT:
sqlite3_close(pDB); return ;
} static int UserResult(void *NotUsed, int argc, char **argv, char **azColName)
{ for (int i = ; i < argc; i++)
{ cout << azColName[i] << " = " << (argv[i] ? argv[i] : "NULL") << ", ";
}
cout << endl;
return ;
} bool SelectUser()
{
char* cErrMsg;
int res = sqlite3_exec(pDB, "select * from student;", UserResult, , &cErrMsg); if (res != SQLITE_OK)
{
cout << "select fail: " << cErrMsg << endl;
return false;
}
return true;
}

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

怎么办?

先看看 有没有表:

没有student表

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

.open   test.db;    //打开一个数据库,没有会新建

.database;     //查看数据库

.table     //查看数据表  是否存在

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. Ubuntu 12.04 gedit编辑器 中文乱码

    百度一下查看了很多关于这个问题的解决方法,无非是用通过配置编辑器修改键值来解决.但是由于我的ubuntu是12.04版本的,搜索到的很多方法都不能用,网上一般的解决办法如下: 打开“注册表”(从字面理 ...

  2. hdu 4155 The Game of 31 博弈论

    给出序列,在剩下的卡中选择,谁先拿到大于31的输,搜一下就可以了! 代码如下: #include<cstdio> #include<cstring> ]; ],sum; boo ...

  3. (转)TeamCity配置笔记

    1.编译sln 2.发布网站 3.重复代码检测 4.代码分析 5.单元测试&覆盖率测试 查看代码覆盖率 7.代码签入时自动触发编译 8.通知 1.在teamcity安装目录中找到TrayNot ...

  4. nodejs笔记1 ----关于express不是本地命令

    1,npm install -g express安装express框架 2,npm install -g express-generator安装命令工具 3,express --help 安装完成

  5. Linux centos yum仓库 自制

    内网下Yum仓库搭建配置 1.实验环境 虚拟机环境: VMware 12 版本虚拟机 网络环境: 内网 IP 段:172.16.1.0 外网 iP 段(模拟):10.0.0.0 实验基础:(能够上网, ...

  6. freeRTOS中文实用教程3--中断管理之中断服务例程中使用队列

    1.前言 消息队列不仅可以用于事件通信,还可以用来传递数据 2.实例说明消息队列的执行过程 3.主要API API名称 说明 参数 返回值 xQueueSendFromISR()完全等同于 xQueu ...

  7. 转:Creating a Nested ESXi 5 Environment

    http://tsmith.co/2011/creating-a-nested-esxi-5-environment/ http://tsmith.co/2012/vsphere-5-1-lab-ne ...

  8. php 使用PHPExcel 导出数据为Excel

    <?php require_once 'PHPExcel/Classes/PHPExcel.php'; /** * 导出数据为Excel * @param array $fieldArr 标题数 ...

  9. ejb3persistence.jar javax.persistence的注解配置

    JPA注解持久化类很方便,需要jar包:ejb3-persistence.jar.我用以下三个类来说明用法.  sh原创 转载请注明: http://67566894.iteye.com/blog/6 ...

  10. g++编译器的使用(转载)

    关于g++ g++  是GNU组织开发出的编译器软件集合(GCC)下的一个C++编译器.它是Unix 和 Linux  系统下标配的 基于命令行的 C++编译器.如果你的系统是Windows,可以按照 ...