当前位置: 首页 > news >正文

南昌市做网站公司四川建设厅招投标官方网站

南昌市做网站公司,四川建设厅招投标官方网站,个人站长还有什么类型的网站可以做,wordpress支持视频播放参考SQLite的编译、安装和使用_whz_zb的博客-CSDN博客#xff0c;如有侵权#xff0c;请告知删除。 参考#xff1a;头文件路径问题 Linux下的头文件搜索路径 - 心哲 - 博客园 参考#xff1a;进一步学习资源 SQlite - 标签 - likebeta - 博客园 一、源码获取 SQLite Do…参考SQLite的编译、安装和使用_whz_zb的博客-CSDN博客如有侵权请告知删除。 参考头文件路径问题 Linux下的头文件搜索路径 - 心哲 - 博客园 参考进一步学习资源 SQlite - 标签 - likebeta - 博客园 一、源码获取 SQLite Download Page 二、移植步骤 1下载和复制数据库sqlite-autoconf-3210000.tar.gz至目录/tmp/mysql。 2解压tar –zxvf sqlite-autoconf-3210000.tar.gz得到sqlite-autoconf-3210000。 3新建某个目录存放编译后生成的文件。我这里是/tmp/build。 4配置进入sqlite-autoconf-3210000中使用命令 ./configure  --hostarm-linux这里根据需要可以改为gcc即省去该配置参数删除--host默认使用gcc  --prefix/tmp/build。--host后面接的是编译工具--prefix后面接的是用来存放配置文件的位置。5编译和安装make之后再make install安装。 6移植编译好后在build目录中会生成4个文件夹“bin 、include 、lib 、share”。将bin文件夹中的文件拷贝到开发板的/bin中并将lib中的文件拷贝到开发板的/lib中。 7检验是否移植成功输入sqlite3  test.db。如果成功会打印 三、常用命令 1、新建一个数据库 sqlite3  xxx.db假定这里xxx.db是zieckey.db2、创建表和插入值 1可以用CREATE TABLE语法命令。 CREATE TABLE语句基本上就是CREATE TABLE关键字后跟一个新的表名以及括号内的一堆定义和约束。表名可以是字符串或者标识符。以sqlite_开头的表名是留给sqlite数据库引擎使用的。每个字段的定义是字段名后跟字段的数据类型接着是一个或多个的字段约束。字段的数据类型并不限制字段中可以存放的数据。2实例 sqlite CREATE TABLE SensorData(    ... ID INTEGER PRIMARY KEY,    ... SensorID INTEGER,    ... SiteNum INTEGER,    ... Time VARCHAR(12),    ... SensorParameter REAL    ... ); 3、查看所创建的表 1.schema 是用来查看数据库中所有的表的定义内容。如果后面跟了具体的表名称则显示该表的内容。 2实例 sqlite .schema CREATE TABLE SensorData( ID INTEGER PRIMARY KEY, SensorID INTEGER, SiteNum INTEGER, Time VARCHAR(12), SensorParameter REAL ); sqlite  3、向表中插入具体元素值 sqlite INSERT INTO SensorData VALUES(2, 1, 0, 200605011306, 16.4); sqlite INSERT INTO SensorData VALUES(3, 1, 0, 200605011406, 15.3); sqlite INSERT INTO SensorData VALUES(4, 1, 0, 200605011506, 15.5); 4、在线帮助.help 5、查看当前数据库下的所有表.table 6、退出sqlite3.quit 四、linux下用c语言操作数据库 1、调用 sqlite 的 API 接口函数示例 1移植好sqlite。 2先创建如下文件test.c // name opendbsqlite.c // This prog is used to test C/C API for sqlite3.It is very simple,ha!#include stdio.h #include sqlite3.hint main( int argc, char **argv ) {char *file database.sqlite3;sqlite3 *pDB NULL;int rc 0;sqlite3_initialize( );rc sqlite3_open_v2( file, pDB, SQLITE_OPEN_READWRITE |SQLITE_OPEN_CREATE, NULL );if ( rc ! SQLITE_OK){sqlite3_close_v2( pDB );}/* perform database operations */sqlite3_close_v2( pDB );}2然后 rootubuntu:/tmp#  gcc test.c -lsqlite3 -L/tmp/build/lib/ -I/tmp/build/include/ rootubuntu:/tmp# lsa.out  build  mysql  ssh-KQYQ2kfL2MIM  test.c  VMwareDnD  vmware-root  vmware-root-859941367  vmware-xjh  wifi_test rootubuntu:/tmp# ./a.out rootubuntu:/tmp# ls a.out  build  database.sqlite3  mysql  ssh-KQYQ2kfL2MIM  test.c  VMwareDnD  vmware-root  vmware-root-859941367  vmware-xjh  wifi_test rootubuntu:/tmp#  2、向数据库插入数据 1代码 // name insert.c // This prog is used to test C/C API for sqlite3 .It is very simple,ha !#include stdio.h #include stdlib.h #include sqlite3.h #define _DEBUG_int main( void ) {sqlite3 *dbNULL;char *zErrMsg 0;int rc;char *sql;rc sqlite3_open(zieckey.db, db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件if( rc ){fprintf(stderr, Cant open database: %s\n, sqlite3_errmsg(db));sqlite3_close(db);return 0;}else printf(You have opened a sqlite3 database named zieckey.db successfully!\nCongratulations! Have fun ! ^-^ \n);//创建一个表,如果该表存在则不创建并给出提示信息存储在 zErrMsg 中sql CREATE TABLE SensorData(\ID INTEGER PRIMARY KEY, \SensorID INTEGER, \SiteNum INTEGER, \Time VARCHAR(12), \SensorParameter REAL \);;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );//插入数据 sql INSERT INTO \SensorData\ VALUES( NULL , 1 , 1 , 201205011206, 18.9 ); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );sql INSERT INTO \SensorData\ VALUES( NULL , 1 , 1 , 201205011306, 16.4 ); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );sqlite3_close(db); //关闭数据库return 0; }2然后 rootubuntu:/tmp# ./build/bin/sqlite3 zieckey.db  SQLite version 3.21.0 2017-10-24 18:55:49 Enter .help for usage hints. sqlite select * from SensorData;//这里记得有分号 1|1|1|201205011206|18.9 2|1|1|201205011306|16.4 sqlite  3、查询数据库中的数据 1代码 // name query.c // This prog is used to test C/C API for sqlite3 .It is very simple,ha !#include stdio.h #include stdlib.h #include sqlite3.h #define _DEBUG_int main( void ) {sqlite3 *dbNULL;char *zErrMsg 0;int rc;rc sqlite3_open(zieckey.db, db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件if( rc ){fprintf(stderr, Cant open database: %s\n, sqlite3_errmsg(db));sqlite3_close(db);return 0;}else printf(You have opened a sqlite3 database named zieckey.db successfully!\nCongratulations! Have fun ! ^-^ \n);//创建一个表,如果该表存在则不创建并给出提示信息存储在 zErrMsg 中char *sql CREATE TABLE SensorData(\ID INTEGER PRIMARY KEY,\SensorID INTEGER,\SiteNum INTEGER,\Time VARCHAR(12),\SensorParameter REAL\); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );#ifdef _DEBUG_printf(zErrMsg %s \n, zErrMsg);#endif//插入数据 sql INSERT INTO \SensorData\ VALUES(NULL , 1 , 1 , 200605011206, 18.9 ); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );sql INSERT INTO \SensorData\ VALUES(NULL , 1 , 1 , 200605011306, 16.4 ); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );int nrow 0, ncolumn 0;char **azResult; //二维数组存放结果//查询数据/*int sqlite3_get_table(sqlite3*, const char *sql,char***result , int *nrow , int *ncolumn ,char **errmsg );result中是以数组的形式存放你所查询的数据首先是表名再是数据。nrow ,ncolumn分别为查询语句返回的结果集的行数列数没有查到结果时返回0*/sql SELECT * FROM SensorData ;sqlite3_get_table( db , sql , azResult , nrow , ncolumn , zErrMsg );int i 0 ;printf( row:%d column%d \n , nrow , ncolumn );printf( \nThe result of querying is : \n );for( i0 ; i( nrow 1 ) * ncolumn ; i )printf( azResult[%d] %s\n, i , azResult[i] );//释放掉 azResult 的内存空间sqlite3_free_table( azResult );#ifdef _DEBUG_printf(zErrMsg %s \n, zErrMsg);#endifsqlite3_close(db); //关闭数据库 return 0;} 2然后 rootubuntu:/tmp# ./a.out  You have opened a sqlite3 database named zieckey.db successfully! Congratulations! Have fun ! ^-^  zErrMsg table SensorData already exists  row:4 column5  The result of querying is :  azResult[0] ID azResult[1] SensorID azResult[2] SiteNum azResult[3] Time azResult[4] SensorParameter azResult[5] 1 azResult[6] 1 azResult[7] 1 azResult[8] 201205011206 azResult[9] 18.9 azResult[10] 2 azResult[11] 1 azResult[12] 1 azResult[13] 201205011306 azResult[14] 16.4 azResult[15] 3 azResult[16] 1 azResult[17] 1 azResult[18] 200605011206 azResult[19] 18.9 azResult[20] 4 azResult[21] 1 azResult[22] 1 azResult[23] 200605011306 azResult[24] 16.4 zErrMsg (null)  rootubuntu:/tmp#  3分析 azResult 的前面 5 个数据正好是我们的表 SensorData 的列属性之后才是我们要查询的数据。 所以我们的程序中才有 i( nrow 1 ) * ncolumn 的判断条件 for( i0 ; i( nrow 1 ) * ncolumn ; i )      printf( azResult[%d] %s\n, i , azResult[i] ); 输出中有 zErrMsg (null) 这样的字句这是 zErrMsg 保留的错误信息zErrMsg 为空表明在执行过程中没有错误信息。 4、删除数据库中的特定的数据 1代码 // name delete.c // This prog is used to test C/C API for sqlite3 .It is very simple,ha !#include stdio.h #include stdlib.h #include sqlite3.h #define _DEBUG_int main( void ) {sqlite3 *dbNULL;char *zErrMsg 0;int rc;rc sqlite3_open(zieckey.db, db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件if( rc ){fprintf(stderr, Cant open database: %s\n, sqlite3_errmsg(db));sqlite3_close(db);return 0;}else printf(You have opened a sqlite3 database named zieckey.db successfully!\nCongratulations! Have fun ! ^-^ \n);//创建一个表,如果该表存在则不创建并给出提示信息存储在 zErrMsg 中char *sql CREATE TABLE SensorData(\ID INTEGER PRIMARY KEY,\SensorID INTEGER,\SiteNum INTEGER,\Time VARCHAR(12),\SensorParameter REAL\); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );#ifdef _DEBUG_printf(zErrMsg %s \n, zErrMsg);#endif//插入数据 sql INSERT INTO \SensorData\ VALUES(NULL , 1 , 1 , 200605011206, 18.9 ); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );sql INSERT INTO \SensorData\ VALUES(NULL , 23 , 45 , 200605011306, 16.4 ); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );sql INSERT INTO \SensorData\ VALUES(NULL , 34 , 45 , 200605011306, 15.4 ); ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );int nrow 0, ncolumn 0;char **azResult; //二维数组存放结果//查询数据sql SELECT * FROM SensorData ;sqlite3_get_table( db , sql , azResult , nrow , ncolumn , zErrMsg );int i 0 ;printf( row:%d column%d \n , nrow , ncolumn );printf( \nThe result of querying is : \n );for( i0 ; i( nrow 1 ) * ncolumn ; i )printf( azResult[%d] %s\n, i , azResult[i] );//删除数据sql DELETE FROM SensorData WHERE SensorID 1 ; ;sqlite3_exec( db , sql , 0 , 0 , zErrMsg );#ifdef _DEBUG_printf(zErrMsg %s \n, zErrMsg);#endifsql SELECT * FROM SensorData ;sqlite3_get_table( db , sql , azResult , nrow , ncolumn , zErrMsg );printf( \n\n\n\nrow:%d column%d , nrow , ncolumn );printf( \nAfter deleting , the result of querying is : \n );for( i0 ; i( nrow 1 ) * ncolumn ; i )printf( azResult[%d] %s\n, i , azResult[i] );//释放掉 azResult 的内存空间sqlite3_free_table( azResult );#ifdef _DEBUG_printf(zErrMsg %s \n, zErrMsg);#endifsqlite3_close(db); //关闭数据库return 0;} 2然后 rootubuntu:/tmp# gcc test.c -lsqlite3 -L/tmp/build/lib/ -I/tmp/build/include/ rootubuntu:/tmp# ./a.out  You have opened a sqlite3 database named zieckey.db successfully! Congratulations! Have fun ! ^-^  zErrMsg table SensorData already exists  row:7 column5  The result of querying is :  azResult[0] ID azResult[1] SensorID azResult[2] SiteNum azResult[3] Time azResult[4] SensorParameter azResult[5] 1 azResult[6] 1 azResult[7] 1 azResult[8] 201205011206 azResult[9] 18.9 azResult[10] 2 azResult[11] 1 azResult[12] 1 azResult[13] 201205011306 azResult[14] 16.4 azResult[15] 3 azResult[16] 1 azResult[17] 1 azResult[18] 200605011206 azResult[19] 18.9 azResult[20] 4 azResult[21] 1 azResult[22] 1 azResult[23] 200605011306 azResult[24] 16.4 azResult[25] 5 azResult[26] 1 azResult[27] 1 azResult[28] 200605011206 azResult[29] 18.9 azResult[30] 6 azResult[31] 23 azResult[32] 45 azResult[33] 200605011306 azResult[34] 16.4 azResult[35] 7 azResult[36] 34 azResult[37] 45 azResult[38] 200605011306 azResult[39] 15.4 zErrMsg (null)  row:2 column5  After deleting , the result of querying is :  azResult[0] ID azResult[1] SensorID azResult[2] SiteNum azResult[3] Time azResult[4] SensorParameter azResult[5] 6 azResult[6] 23 azResult[7] 45 azResult[8] 200605011306 azResult[9] 16.4 azResult[10] 7 azResult[11] 34 azResult[12] 45 azResult[13] 200605011306 azResult[14] 15.4 zErrMsg (null)  rootubuntu:/tmp#    3分析 从程序输出结果就可以看出在删除数据前我们有三条记录删除数据后我们发现数据库内记录少了从而实现了我们的删除数据目的。
http://www.pierceye.com/news/13250/

相关文章:

  • 校园网站建设计划书浙江省建设注册管理中心网站
  • 上海做网站比较有名的公司有哪些网站建设redu
  • 行知网站建设网站建设放电影怎么做
  • 寻找网站优化公司安徽省交通运输厅金良
  • asp.net 企业网站后台管理系统源码东莞企业网站哪家强
  • vue 做电商网站得物app公司
  • 做哪些网站不受法律保护百度收录收费 重大网站
  • 广州市建设企业网站报价绵阳住房和城乡建设部网站
  • 免费ppt模板 网站开发环保公司网站建设内容
  • 中国建设银行蚌埠官方网站淘宝网网站开发
  • 做网站设计需要学会哪些网站运营专员
  • 温州市城市建设档案馆网站手机网站制
  • 扬州建站公司wordpress访问多站点
  • 大连做网站谁家好网站管理助手 phpmyadmin
  • 建设一个网站哪家好顺德网站建设多少钱
  • 福州高端网站制作html5编辑器
  • 可以为自己的小说建设网站wordpress主题怎么该轮播
  • 国内服装电商平台什么是搜索引擎优化
  • 简洁网站模板哈尔滨网站开发建设公司电话
  • 沈阳网站制作全网性建模
  • 站群论坛机电设备网站模板
  • 创建一个网站的步骤是网站建设全包需要多少钱
  • psd网站网站欢迎页怎么做
  • dedecms 网站地图生成合作建网站
  • 网站建设报价单 文库wordpress手机导航栏模板
  • 合肥大型网站开发公司怎样建免费个人网站
  • iis怎么设置网站photoshop手机版下载
  • 网站制作怎么报价单购物软件
  • 上海微网站开发小红书企业推广
  • 开封网站建设-中企动力wordpress浮动按钮插件