void CODBCRecordset::AddBinaryParameter(bool IsOutput,int iParamIndex,BYTE* pParamValue, long& iParamLen,unsigned long iMaxLen)
{
SQLRETURN ret = SQLBindParameter(_hstmt,
(SQLUSMALLINT)iParamIndex,
(IsOutput ? SQL_PARAM_OUTPUT : SQL_PARAM_INPUT),
SQL_C_BINARY,
SQL_VARBINARY,
(SQLUINTEGER)iMaxLen, // 字段长度
0,
(SQLPOINTER)pParamValue, // 实际数据
(SQLUINTEGER)iMaxLen, // 缓冲区长度
(SQLINTEGER*)&iParamLen); // 实际数据长度
}
SQL SERVER上, 普通VARBINARY最多8000BYTE
但由于一次通讯的数据量上限也是8000左右,
因此如果表中有多个数据量较大的二进制字段,
则不要使用直接数据发送.