欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

c语言从一维数组里读数据并存到sqlite数据库表中

更新时间: 2014-01-05 02:30:45 责任编辑: Author_N1

 

求助 c语言从一维数组里读数据并存到sqlite数据库表中
我要将a[10]数组的数据插入到表中的sensorid字段中,其他字段直接赋值,程序如下,编译过了,但是在数据库中不显示,如果直接赋一个常量,是可以显示的
  因为数组里的数据是动态的,所以不能直接赋常量,下面程序该怎么该啊?帮帮我吧!!


#include <stdio.h>
#include "sqlite3.h"
#pragma comment(lib,"sqlite3.lib")
int main( int argc, char* argv[] )

{

int nRet;
  int a[10] = {11,22,33,44,55,66,77,88};
sqlite3 *db=NULL;
nRet = sqlite3_open( "xx.db", &db );
if ( 0 != nRet )

{

printf("Open db error %s\n", sqlite3_errmsg(db));

sqlite3_close( db );  

}else  

{  

printf( "open db success\n" );  

}

//create a table
char *zErrMsg = 0;
char *sql = " CREATE TABLE SensorData( ID INTEGER PRIMARY KEY,SensorID INTEGER,SiteNum INTEGER,Time VARCHAR(12),SensorParameter REAL);";
printf( "%s\n", sql );
nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
if ( 0 != nRet )  

{  

printf("Create table falure, MSG:%s\n", zErrMsg);  

}else  

{

printf( "Create table success\n" );  

}

//insert data
sql = "INSERT INTO \"SensorData\" VALUES(NULL , a[1] , 1 , '200605011206', 18.9 );" ;
nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );

if ( 0 != nRet )  

{  

printf("Insert Error:%s", zErrMsg);  

}else  

{  

printf("Insert OK\n");

}



//insert data
sql = "INSERT INTO \"SensorData\" VALUES(NULL , a[2] , 1 , '200605011306', 16.4 );" ;
nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
if ( 0 != nRet )  

{  

printf("Insert Error:%s", zErrMsg);  

}else  

{  

printf("Insert OK\n");

}



//update data

sql = "UPDATE SensorData SET SensorParameter=1000.01,SensorID=123 WHERE SensorParameter=100.01";

nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );

if ( 0 != nRet )  

{  

printf("Update Error:%s", zErrMsg);  

}else  

{  

printf("Update OK\n");

}



//delete data

sql = "DELETE FROM SensorData WHERE SensorID=123";

nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );

if ( 0 != nRet )  

{  

printf("Delete Error:%s", zErrMsg);

}else

{

printf("Delete OK\n");

}
  sqlite3_free_table( azResult );

//关闭数据库

sqlite3_close( db );

return 0;




--参考方法--
sqlite3_prepare();
sqlite3_bind_int();
用这两个函数
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:30:45
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10720/
本文WWW.DOC100.NET DOC100.NET版权所有。