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 :
Lors de l'exécution du
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO PICTURES (PARTID, PICTURE) VALUES (?, ?)
Il semblerait que les ? soient mal digérés. Si quelqu'un a une idée...SQL Etat : HY000
SQL Code d'erreur : 7
SQL Message : ERROR: syntax error at or near "," at character 49
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 } } }
Partager