Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2007, 11h12   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 1
Points : 0
Points : 0
Par défaut Besoin d'aide pour une erreur CR_INVALID_BUFFER_USE

Bonjour tout le monde,

Ce code produit une erreur CR_INVALID_BUFFER_USE sur mysql_stmt_send_long_data.


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
33
34
35
36
37
38
39
40
41
 //Here we do INSERT the DATA
void CBugUIPanel::InsertFile(char *localfile)
{
char query[1000];
 
FileHandle_t file = g_pFileSystem->Open(localfile, "rb");
// LOAD file INTO a null-terminated buffer
int fileSize = g_pFileSystem->Size(file);
char *buffer = (char*)MemAllocScratch(fileSize + 1);
 
Assert(buffer);
 
g_pFileSystem->READ(buffer, fileSize, file); // READ INTO LOCAL buffer
 
Q_snprintf(query, sizeof(query), "INSERT INTO attach_data(id, thedata) VALUES(%i, ?)", GetAttachId());
 
MYSQL_BIND bind[1];
UNSIGNED long length;
 
MYSQL_STMT *stmt = mysql_stmt_init(&mysql);
 
mysql_stmt_prepare(stmt, query, strlen(query));
 
memset(bind, 0, sizeof(bind));
bind[0].buffer_type= MYSQL_TYPE_LONG_BLOB;
bind[0].length= &length;
bind[0].is_null= 0;
 
IF( mysql_stmt_bind_param(stmt, bind) )
{
AssertMsg(0, mysql_stmt_error(stmt));
}
 
IF ( mysql_stmt_send_long_data(stmt,0,buffer,fileSize) )
{
AssertMsg(0, mysql_stmt_error(stmt));
}
 
mysql_stmt_execute(stmt);
 
}
Pour information, le type de "thedata" est LONGBLOB.


Je ne vois pas pourquoi j'ai cette erreur

Toute aide serait grandement appréciée.

Merci d'avance
ArkaneJouan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h28.


 
 
 
 
Partenaires

Hébergement Web