関数を呼び出す前に、テーブルで使用可能なデータの正確なサイズを知りたいですSQLGetData
。現在、私は以下のコードに従っていますが、それは私にとってはうまくいきますが、それが安全かどうかはわかりません。
誰か助けてもらえますか?
char*ptr = new char[0];
if (retcode = SQLGetData(hstmt, 31, SQL_C_BINARY, ptr,0,&cbfdata) != SQL_NO_DATA)
{
delete[] ptr;
vector<char> vec(cbfdata);
SQLGetData(hstmt, 31, SQL_C_BINARY, &vec[0],cbfdata,&cbfdata);
ofstream fout;
fout.open(file,ios::binary);
fout.write(&vec[0],cbfdata);
fout.close();
vec.clear();
}