Hola compañeros foreros,
Estoy realizando un programa en linux, donde reojo unos datos de un puerto y los debo de guardar en una base de datos.
Mi problema radica en que no se guardan, me guarda 0.
El código es:
#include </usr/include/mysql/mysql.h>
char int2char( int i )
{ //Return a char to print the numerical value of an int
// in one char.
if ( i < 0 ) { return '~'; }
if ( i < 10 ) { return '0' + i; }
if ( i < 36 ) { return 'a' + i - 10; }
if ( i < 62 ) { return 'A' + i - 36; }
return '$';
}
//creacion una tabla y publicandola
int main(int argc, char **argv)
{
//CREACION DE TABLAS E INSERCCION DE DATOS
MYSQL *conn;
conn = mysql_init(NULL);
int Val=10;
unsigned char vl;
mysql_real_connect(conn,"localhost","root","or2009 ","mibdd",0,NULL,0);
mysql_query(conn,"CREATE TABLE escribir (valor VARCHAR(25), vol INTEGER)");
vl=int2char(Val);
vl='d';
printf("valor %d\n",Val);
mysql_query(conn,"INSERT INTO escribir VALUES('nombre 1', '&Val')");
mysql_query(conn,"INSERT INTO escribir VALUES('nombre 2', '%i,*Val')");
mysql_close(conn);
return 0;
}
como podeis comprobar intento de guardar el valor de la vble Val de dos formas distintas, pero en todas me da lo mismo, cerapio.
mysql> select * from escribir;
+----------+------+
| valor | vol |
+----------+------+
| nombre 1 | 0 |
| nombre 2 | 0 |
Espero que me saqueis de este problemilla.
un saludo desde huelva