本文整理汇总了C++中_RecordsetPtr::Save方法的典型用法代码示例。如果您正苦于以下问题:C++ _RecordsetPtr::Save方法的具体用法?C++ _RecordsetPtr::Save怎么用?C++ _RecordsetPtr::Save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类_RecordsetPtr
的用法示例。
在下文中一共展示了_RecordsetPtr::Save方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RecordSetToMSDTD
//converts recordset to MS dtd
std::string RecordSetToMSDTD(_RecordsetPtr rsResult)
{
std::string sRet = "ERROR: Conversion failure"; //return string
std::string sTempName = "c:\\temp\\msxml.tmp"; //temp file name
//first, get temp file name to save recordset to
DWORD dwTmpResult; //temporary results
LPTSTR lpTmpDir = (char*)malloc(256);
LPTSTR lpTmpFileName = (char*)malloc(256); //the directory names
DWORD dwBufferSize = 256; //buffer size
LPCTSTR lpcPrefix = "DTZ"; //prefix for the temp file
UINT uResult; //result of the temp file
UINT uPass = 0;
std::string sBuffer(""); //line of file to read
BOOLEAN bError = FALSE;
dwTmpResult = GetTempPath(dwBufferSize, lpTmpDir);
if (dwTmpResult != 0)
{
uResult = ::GetTempFileNameA(lpTmpDir, lpcPrefix, uPass, lpTmpFileName);
//now save the file name by accessing the map
sTempName = lpTmpFileName;
}
if (!sTempName.empty())
{
//save the recordser to disk
try
{
remove(sTempName.c_str());
rsResult->Save(sTempName.c_str(), adPersistXML);
}
catch(_com_error e)
{
sRet = e.ErrorMessage();
bError = TRUE;
}
//now read file into string
std::ifstream File(sTempName.c_str(), ios::in);
//open the file
if(File)
{
//read file into string
if (!bError)
{
sRet = "";
while(!File.eof())
{
std::getline(File, sBuffer);
sBuffer.append("\r\n");
sRet.append(sBuffer);
}
}
//now remove the file
File.close();
remove(sTempName.c_str());
}
}
free(lpTmpDir);
free(lpTmpFileName);
return sRet;
}