AcouSTO  version 2.0

◆ store_data()

void store_data ( COMPLEX data,
char *  desc,
char *  name,
int  len,
int  runid,
struct vector points 
)
286  {
287  MYSQL_STMT* stmt;
288  MYSQL_BIND bind[4];
289  char* stmtdata= "INSERT INTO rundata (runid,name,description,data) values (?,?,?,?)";
290  char* solstring;
291  char* tmpstring;
292  int i;
293 
294 
295  stmt = mysql_stmt_init(connection);
296  mysql_stmt_prepare(stmt,stmtdata,strlen(stmtdata));
297 
298  memset(bind,0,sizeof(bind));
299  bind[0].buffer_type = MYSQL_TYPE_LONG;
300 #if MYSQL_VERSION_ID >= 50100
301  bind[0].buffer = (char*) &runid;
302 #else
303  bind[0].buffer = (gptr) &runid;
304 #endif
305 
306  bind[1].buffer_type = MYSQL_TYPE_STRING;
307  bind[1].buffer = name;
308  bind[1].buffer_length = strlen(name);
309 
310  bind[2].buffer_type = MYSQL_TYPE_STRING;
311  bind[2].buffer = desc;
312  bind[2].buffer_length = strlen(desc);
313 
314  solstring = calloc(len*(50+1)+1,sizeof(char));
315  tmpstring = calloc(256,sizeof(char));
316  for(i=0;i<len;i++){
317  sprintf(tmpstring,"%+f %+f %+f %+f %+f\n",points[i].x,points[i].y,points[i].z,CREAL(data[i]),CIMAG(data[i]));
318  strcat(solstring,tmpstring);
319  }
320 // bind[3].buffer_type = MYSQL_TYPE_BLOB;
321 // bind[3].buffer = (char*)data;
322 // bind[3].buffer_length = len*sizeof(COMPLEX);
323  bind[3].buffer_type = MYSQL_TYPE_STRING;
324  bind[3].buffer = solstring;
325  bind[3].buffer_length = strlen(solstring);
326  mysql_stmt_bind_param(stmt,bind);
327 
328  mysql_stmt_execute(stmt);
329 
330  mysql_stmt_close(stmt);
331 
332  free(solstring);
333  free(tmpstring);
334 
335 
336 }
MYSQL * connection
Definition: mysqlsave.c:36
#define CREAL(x)
Definition: functions.h:49
#define CIMAG(x)
Definition: functions.h:50
#define calloc(n, size)
Definition: allocation.h:37