char *end ;
char *szSql = new char[n*2+256];
memset(szSql ,0 ,n*2+256);
char *sqltemp =new char[200];
memset(sqltemp ,200 ,0);
sprintf(sqltemp ,"INSERT INTO scrlog(KeyLogID ,DoTime ,EID ,PicImage) VALUES(%d ,now(),%d," ,nKeyID ,m_nEID);
strcpy(szSql ,sqltemp );
delete[] sqltemp;
end = szSql;
end += strlen(szSql);
*end++ = '\'';
end += mysql_real_escape_string(m_pData, end, buf, n);
*end++ = '\'';
*end++ = ')';
Log(szSql);
int nflag = mysql_real_query(m_pData ,szSql ,(unsigned int)(end-szSql));
if(nflag != 0)
{
delete[] buf;
delete[] szSql;
buf = NULL ;
szSql = NULL ;
end = NULL ;
throw(mysql_error(m_pData));
return 1;
}
.....................这是一段保存二进制数据的代码 可郁闷的是 它老提示语法错误 !