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 : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO PICTURES (PARTID, PICTURE) VALUES (?, ?)
Lors de l'exécution du
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
		}
	}
}