my_bool mysql_stmt_send_long_data(MYSQL_STMT *stmt, unsigned int param_number, const char *data, unsigned long length);
La taille de data est donnée par le paramètre length exprimée en octets.
mysql_stmt_send_long_data peut être appelée plusieurs fois.
Le résultat est différent de 0 en cas de succès.
#include <mysql.h>
static MYSQL_STMT *hOrdreSql;
static MYSQL_BIND LiaisonB;
static unsigned char B[256];
static unsigned long TailleB;
...
memset(&LiaisonB, 0, sizeof(MYSQL_BIND));
LiaisonB.buffer_type=MYSQL_TYPE_BLOB;
LiaisonB.is_unsigned=0;
LiaisonB.buffer=(void *)&B;
LiaisonB.buffer_length=sizeof(unsigned char)*256;
LiaisonB.length_value=sizeof(unsigned char)*256;
LiaisonB.length=&TailleB;
LiaisonB.is_null_value=0;
LiaisonB.is_null=&IndicateurB;
if (mysql_stmt_fetch_column(hOrdreSql, &LiaisonB, 0, 0))
{
...
}
...
if (mysql_stmt_send_long_data(hOrdreSql, 0, (char *)B, (unsigned long)256))
{
...
}
...