000
21.10.2003, 15:16 Uhr
HRI-Dummy
|
Hallo Leute!
Also ich habe folgendes Problem. Ich moechte mir einen stringpointer zusammenbasteln in den ich einige Variablen einfuegen will. Leider funktioniert das irgendwie nicht.
Code: |
char *query1 = ANY_TNALLOC(256,char); char *query2 = ANY_TNALLOC(256,char); char *query3 = ANY_TNALLOC(256,char);
*query1 = "insert into all_images (image_width,image_height,URL) values\ (" && width && "," && height && "," && DB.Path && ")";
query2 = "select max(image_id) from all_images limit 1";
*query3 = "insert into identification (image_id,object_index,view_index,name)\ values (" && query2 && "," && objectIndex && "," && viewIndex\ && "," && DB.Name_Code && ")";
ANY_FREE(query1); ANY_FREE(query2); ANY_FREE(query3);
|
Das Problem ist, das query1 und query3 nach der Zuweisung leer sind, in query2 steht genau das was ich auch zugewiesen habe. Erstens verstehe ich nicht so richtig, warum ich query2 bei der Zuweisung keinen * voranstellen muss. Zweitens verstehe ich nicht, warum die anderen beiden querys leer sind. An den Variablen kann es nicht liegen, die sind zum Zeitpunkt der Zuweisung schon gefuellt, das habe ich auch ueberprueft. Das dritte Problem ist, das ich nachdem ich mit ANY_FREE() den Speicherplatz wieder freigebe einen 'segmentation fault (core dumped)' bekomme.
Ich werde jetzt versuchen, mir die queries irgendwie mit strcat() zusammenzubasteln, auch wenn das umstaendlich wird, aber ich wuerde doch gerne verstehen was ich falsch mache. Ich weiss, dass ist mal wieder eine absolute Anfaengerfrage, aber ich bedanke mich jetzt schon bei jedem, der die Geduld hat, mir weiterzuhelfen! |