新的第一次用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. [read -p应用]插拔光模块去检查port present状态

    #!/bin/bash path="/sys/devices/platform/soc/fd880000.i2c-pld/i2c-0/i2c-4/i2c-15/15-0060" a ...

  2. 13 JavaScript Array对象&Boolean对象&Math对象&RegExp对象

    万物皆对象,数组是对象,数组可以存储元素,函数,数组等对象 创建数组的三个方式: 常规方式:var myCars = new Array(); 简介方式:var myCars = new Arrray ...

  3. git——解决每次拉取、提交代码时都需要输入用户名和密码

    在开发中我们经常需要通过 git 对代码进行拉取和提交,频繁地输入用户名和密码会带来很大的麻烦,下面就介绍一下解决git每次拉取.提交代码时都需要输入用户名和密码的方法. 很简单,只要两步骤就能实现: ...

  4. 吴裕雄--天生自然数据结构与算法:java代码实现常用数据结构——链表Linked List

    class Node{ // 定义节点类 private String data ; // 保存节点内容 private Node next ; // 表示保存下一个节点 public Node(St ...

  5. 为什么很多 Android 程序喜欢在存储卡根目录建文件夹来存储数据而不是 Android/data 目录下?

    知乎回答.   http://www.zhihu.com/question/19866689   pansz,欢迎评论 知乎用户.弓长.知乎用户 赞同 这个道理很简单:因为没人管啊.你乱存放文件,在a ...

  6. 解题报告:luogu P1196 [NOI2002]银河英雄传说

    由于并查集让我很自闭(其实是我太弱了),所以学习了加权并查集,这是例题: 题目链接:P1196 [NOI2002]银河英雄传说 不是很简单,但对于大佬还是签到题. 合并与路径压缩时直接维护\(dis[ ...

  7. 用Hyper-v 在win10下使用Docker-Desktop体验kubernetes

    首先开启Hyper-v ,会自动创建一个交换机. 开启internet共享,自动创建的那个交换机(虚拟的网络适配器)会分配一个默认的IP 192.168.137.1,这个IP你不爽,就用注册表搜索并修 ...

  8. Eclipse传递main函数参数

    在项目上右击 Run As->Run Configurations...->Arguments->在Program arguments:的文本框中输入你要传入的参数,若有几个参数则在 ...

  9. C# 中的委托和事件 转载张子阳的

        C# 中的委托和事件 引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人 ...

  10. python爬虫入门之快递查询

    现在快递遍布生活的角角落落,一个快递其实是信息的集合体,里面包含大量的物流信息,那能不能自己实现一个快递查询的小功能?答案是能的!现在也有别人整理好的快递查询api,比如说快递100,可以通过它提供的 ...