Kim wrote:
> hej,
> jeg har interfacet en mysql db hvor jeg kan lave select queries ala
> statiske "select name from table" men jeg er lidt i tvivl om hvordan jeg skal gøre
> det dynamisk. Hvordan skal functionen laves så jeg kan indsætte stien i
> db'en?
>
> insertFile(char *path){
> //oprette forbindelsen
> mysql_query(connection,"INSERT INTO files (path) VALUES (???)" );
> //lukke fobindelsen
> }
>
> **********'
> med et functions kald som: insertFile(/home/looser/sjov.bin);
> skal jo gerne give en query streng "INSERT INTO files (path) VALUES
> ('/home/looser/sjov.bin')"
>
> i php er det simpelt da man blot kan bruge $var og så indsættes
> variablens indhold dynamisk, men hvordan skal det gøres i c?
>
>
> mvh
> Kim
>
Hvis jeg forstår dig ret, ønsker du at indsætte strengen fra
parameteren path i strengen "INSERT INTO files (path) VALUES (???)"
i stedet for de tre ??? og så give bruge denne i kaldet til
mysql_query (korrekt?).
I C kunne man:
#include <stdio.h>
insertFile(char *path){
//oprette forbindelsen
char temp[1111]; /* Vær sikke på at der plads nok */
sprintf(temp, "INSERT INTO files (path) VALUES (%s)", path);
mysql_query(connection, temp );
I C++ ville man kunne:
#include <string>
insertFile(char *path){
//oprette forbindelsen
std::string temp = "INSERT INTO files (path) VALUES (";
temp += path;
temp += ')';
mysql_query(connection, temp.c_str() );
Husk at du skal skrive insertFile("/home/looser/sjov.bin");
når du kalder din funktion.
HTH
/bertel
--
Bertel K. Brander
Autor of Wain, a free text editor for programmers:
http://home20.inet.tele.dk/midgaard/program.htm