Problème de syntaxe INSERT/UPDATE
Bonjour,
Je suis sur un programme en C qui utilise ODBC pour se connecter à une base postgres, sous Visual Studio 2003.
Je dois mettre à jour un champ contenant une image bitmap potentiellement supérieure au Mo.
Les exemples de syntaxe que je trouve sur le net ainsi que dans l'aide de Visual présentent ce genre d'écriture :
Code:
INSERT INTO PICTURES (PARTID, PICTURE) VALUES (?, ?)
Lors de l'exécution du
Citation:
SQL Etat : HY000
SQL Code d'erreur : 7
SQL Message : ERROR: syntax error at or near "," at character 49
Il semblerait que les ? soient mal digérés. Si quelqu'un a une idée...
Merci d'avance !
Un petit bout de code peut-être :
Code:
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
|
sprintf(statement, "INSERT INTO picture (id, type, name, background) VALUES (%ld, '%s', '%s', ?)", id, sql_type, sql_name);
SQLPrepare (current_stmt, statement, SQL_NTS);
retcode = SQLBindParameter( current_stmt,
4,
SQL_PARAM_INPUT,
SQL_C_BINARY,
SQL_LONGVARBINARY,
0,
0,
id, // Identifiant du paramètre
0,
&dataLen);
dataLen = SQL_LEN_DATA_AT_EXEC(BUFFERSIZE);
retcode = SQLExecute(current_stmt);
while(retcode == SQL_NEED_DATA)
{
retcode = SQLParamData(current_stmt, &pAppData);
if ( retcode == SQL_NEED_DATA)
{
if(&id == pAppData)
{
putData(current_stmt, buffer, data); // Fonction qui boucle sur un SQLPutData
}
}
} |