Bases de Datos - insertar registros de forma automatica en bd sqlite3 lenguaje c

 
Vista:
sin imagen de perfil

insertar registros de forma automatica en bd sqlite3 lenguaje c

Publicado por Angel (3 intervenciones) el 23/10/2015 02:04:42
estoy empezando con las bases de datos, sqlite3 en C alguien tiene ejemplos o puede explica el codigo para introducir registros una base de datos.

yo he llegado ha este código, pero el objetivo es ir guardando registros de forma automática, no se como pasar los valores a la base de datos.

este ejemplo, genera un registro con los datos: 2015-10-23 20:00:30', 22.5, 0, ver linea 37
como puedo pasar esos datos como valores de variables?
por ejemplo, cuando una variable alcance un valor superior a X la quiero registrar en base de datos y también la hora en la que alcanza el valor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <sqlite3.h>
#include <pthread.h>
#include <signal.h>
#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
 
static int callback (void *NoteUsed, int argc, char **argv, char **azColName)
{
	int i;
	for (i=0;i<argc;i++)
	{
	printf("%s=%s\n", azColName[i], argv[i] ? argv[i]: "NULL");
	}
	printf("\n");
	return 0;
}
int main(int argc, char *argv[])
{
    sqlite3 *db;
    char *zErrMsg=0;
    int rc;
    char *sql;
 
    rc = sqlite3_open("reg_temp.db", &db);
    if(SQLITE_OK != rc)
    {
        printf("Error: No se puede abrir la base de datos");
		exit (0);
    }
    else
    {
	fprintf(stderr, "base de datos OK\n");
	}
 
sql= "INSERT INTO temp VALUES ('2015-10-23 20:00:30', 22.5, 0);";
 
/*EXECUTE SQL statement*/
rc=sqlite3_exec(db, sql, callback, 0, &zErrMsg);
 
if(rc!=SQLITE_OK)
	{
		fprintf(stderr,"SQL error:%s\n", zErrMsg);
		sqlite3_free(zErrMsg);
	}
else
	{
	fprintf(stdout, "Records created successfully\n");
	}
sqlite3_close(db);
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder