Linux下,sqlite简单实例
#include "stdlib.h"
#include "stdio.h"
#include "sqlite3.h"
int main()
{
sqlite3*pSql = NULL;
char *pError= NULL;
int i = 0, j= 0;
char**ppTableData = NULL;
int nRow =0, nColumn = 0;
int pos =0;
//打开数据库
sqlite3_open("server.db",&pSql);
//如果userInfo表不存在,则创建一个。
sprintf(cSql, "create table if not existsuserInfo"
"("
"cUserName varchar(32) not null primarykey,"//用户名 关键字 不能为空
"cUserPwd varchar(32) not null,"//用户密码 不能为空
"nUserPower interger default 1,"//用户权限 默认为1
"cCreateTime varchar(32)default(datetime('now','localtime')),"//创建时间 默认为当前本地时间
"cModifyTime varchar(32)default(datetime('now','localtime')),"//最后一次修改时间
"cLoginTime varchar(32)default(datetime('now','localtime')),"//最后一次登录时间
"cDescribe varchar(256) default('nodescribe')"//用户描述信息
")");
if(sqlite3_exec(pSql, cSql, 0, 0,&pError) != SQLITE_OK)
{
printf("(%s)\r\n", pError);
}
//删除一项
sprintf(cSql, "delete from userInfo where cUserName='%s'","admin");
if(sqlite3_exec(pSql, cSql, 0, 0, &pError) !=SQLITE_OK)
{
printf("(%s)\r\n", pError);
}
//插入一项UserName = admin, cUserPwd = password
sprintf(cSql, "insert into userInfo (cUserName,cUserPwd) values ('%s', '%s')", "admin", "password");
if(sqlite3_exec(pSql, cSql, 0, 0,&pError) != SQLITE_OK)
{
printf("(%s)\r\n", pError);
}
//修改一项
sprintf(cSql, "update userInfo set cUserPwd='%s', nUserPower=%d,cDescribe='%s' where cUserName='%s'", "88888888", 2, "super user","admin");
if(sqlite3_exec(pSql, cSql, 0, 0, &pError) !=SQLITE_OK)
{
printf("(%s)\r\n", pError);
return-1;
}
//查找所有项,并显示
sprintf(cSql, "select * from userInfo");
if(sqlite3_exec(pSql, cSql, 0, 0,&pError) != SQLITE_OK)
{
printf("(%s)\r\n", pError);
}
else
{
//获取选择的项目
sqlite3_get_table(pSql, cSql,&ppTableData, &nRow,&nColumn, &pError);
printf("nRow = %d, nColumn = %d\r\n", nRow, nColumn);
pos = nColumn;
for(i = 0;i < nRow;i++)
{
for(j = 0;j < nColumn;j++)
{
printf("i %d, j %d, value = %s\r\n", i, j,ppTableData[pos++]);
}
}
//释放空间
sqlite3_free_table(ppTableData);
}
//查找cUserName = admin,cUserPwd = password的项
sprintf(cSql, "select * from userInfo wherecUserName='admin' and cUserPwd='password'");
if(sqlite3_exec(pSql, cSql, 0, 0,&pError) != SQLITE_OK)
{
printf("(%s)\r\n", pError);
}
else
{
sqlite3_get_table(pSql, cSql,&ppTableData, &nRow,&nColumn, &pError);
if(nRow <= 0)
{
printf("no find cUserName='admin' andcUserPwd='password'\r\n");
}
else
{
printf("find success\r\n");
pos = nColumn;
for(i = 0;i < nRow;i++)
{
for(j = 0;j < nColumn;j++)
{
printf("i %d, j %d, value = %s\r\n", i, j,ppTableData[pos++]);
}
}
}
sqlite3_free_table(ppTableData);
}
//关闭数据库
sqlite3_close(pSql);
return0;
}
Linux下,sqlite简单实例相关推荐
- 用C语言编写一个Linux下的简单shell程序
这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...
- linux上用的端口转发工具,linux下最简单好用的的端口转发工具
linux下最简单好用的的端口转发工具 解压安装 tar zxvf rinetd.tar.gz make make install 编辑配置 vi /etc/rinetd.conf 0.0.0.0 8 ...
- linux线程池简单实例
linux线程池简单实例 转载于:https://www.cnblogs.com/adong7639/p/5044685.html
- 华为关于LINUX的认证,华为认证:华为TA128在LINUX下的简单设置
华为认证:华为TA128在LINUX下的简单设置 华为认证:华为TA128在LINUX下的简单设置,来看看吧. 现以LINUX RH7为例说明TA128在LINUX下的使用方法. 启动您的X,如果还没 ...
- 《Linux指令从入门到精通》——4.2 Linux下的简单文字模式文本编辑器
本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.2节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- linux下最简单多线程单文件socks5代理proxy服务器程序(仅一个c文件,带详细注解)
2020.9.11 网上看的都比较复杂,GITHUB找了一个多线程的相对简单的MicroSocks项目,花了几周时间(没办法,菜鸟一个)改了一下,改成单文件,测试OK. /* wxl_socks5_p ...
- Linux下最简单的动态域名用法
Linux下最简单的动态域名用法 估计做IT的哥们象我这样ADSL包月的应该很多,我一般家里有一部电脑是24小时开机的,它上面跑着我的各种应用,也相当于我的一个网络硬盘.为了方便自己能从远程访问,我们 ...
- Linux 下最简单快捷的端口转发软件 redir 简介
Linux 下的端口转发软件很多,像 ssh.iptables.socat 等等,但论简单易用,据我所知,还得算这个小小的 redir.它可以非常方便的把本机的TCP 端口转发给本机或其它机器的特定端 ...
- linux下c/c++实例之十socket简单应用
转自:http://blog.csdn.net/taiyang1987912/article/details/49738351 一.简介 通过socket扫描本机打开的tcp端口号,模拟用户名.密码登 ...
- linux下sqlite安装及基本使用
目录 一. sqlite基本介绍 二. linux下安装sqlite3过程 方法一:apt 方法二:从官网下载sqlte的安装包解压安装 三. sqlite图形化管理界面DB Browser for ...
最新文章
- 面部识别必看!5篇顶级论文了解如何实现人脸反欺诈、跨姿势识别等(附链接)...
- vi php自动补全,vim7.2 代码自动补全的配置 | 学步园
- Spring读取jar包外部的配置文件properties
- 内存不够用还要速度快,终于找到可以基于 File 的 Cache 了
- 剑指offer之礼物的最大值
- Software-Defined Networking (SDN) Definition-软件定义网络
- MongoDB Sharding 机制分析
- php bi系统,bi系统是什么系统
- 查看dll或exe文件的依赖项——使用vs自带的dumpbin工具
- 【开发】微信公共帐号机器人WeBot
- S/MIME电子邮件签名证书
- # 开发 VR 多人游戏的技术挑战
- phpmywind最新版sql注入以及后台目录遍历和文件读取
- 安卓相机camera2开发知识点
- unity如何用代码创建自已的logo
- SQL Server 2012笔记分享-35:配置客户端网络协议
- AD从原理图到PCB超详细教程
- 一些我平常用到的软件
- Wireshark抓包定位系统网页响应慢 | 网络工程师甩锅技术
- 杜克大学2年前的研究上热搜!单身竟然还老得快?太难了!!!