新的第一次用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. python的datetime、random和os模块使用方法

    import datetime# print(datetime.date.today())# print(datetime.datetime.today())# res=datetime.dateti ...

  2. Ngnix调整

    1.隐藏版本号,防止针对版本攻击   http {    server_tokens off;2.增加并发连接   2.1 worker_processes :改为CPU核数一致,因为异步IO进程是单 ...

  3. 【原】postman常用设置全局变量的js片段

    postman知识总结: API自动化利器:http://www.bayescafe.com/tools/use-postman-to-test-api-automatically.html 1.获取 ...

  4. 【原】python常用模块

    1.os模块 对操作系统中文件/目录等进行操作 2.sys模块 对python版本进行操作 3.正则re模块 4.datetime,date,time模块 5.hashlib,md5模块 hashli ...

  5. Linux centosVMware apache 限定某个目录禁止解析php、限制user_agent、php相关配置

    一.限定某个目录禁止解析php 核心配置文件内容 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 先创建.编辑一个php 配置 vim /u ...

  6. free to monitor your sqlserver easy and safe and ...

    Unlike AWR in Oracle, Sqlserver does not have offical way to make history performance information fo ...

  7. html常用整理

    视频链接:https://www.bilibili.com/video/av5862916?from=search&seid=12139895566389560177 我的第一个html &l ...

  8. 从零开始编写IntelliJ IDEA插件

    写Java代码的时候,经常会涉及到重复性的操作,这个时候就会想要是有这样一个插件就好了,如果是大家都会遇到的场景,IDE或许已经提供了,再不然也有可能有人编写了相关的插件.要是这个操作是你们的编码环境 ...

  9. Ubuntu系统为MySQL开启远程连接

    第一步:确保 Ubuntu 系统已经安装上了MySQL数据库.登陆数据库 ,运行如下命令: mysql -u 用户名 -p 然后输入密码,此时登录成功 第二步:创建用户用来远程连接,运行如下命令: G ...

  10. 在Windows中实现Java调用DLL(转载)

    本文提供调用本地 C 代码的 Java 代码示例,包括传递和返回某些常用的数据类型.本地方法包含在特定于平台的可执行文件中.就本文中的示例而言,本地方法包含在 Windows 32 位动态链接库 (D ...