接上篇
http://community.csdn.net/Expert/topic/3237/3237868.xml?temp=.650036
我通过crecordset派生一个类,
CNewsSets::CNewsSets(CDatabase* pdb)
: CRecordset(pdb)
把其中对应ntext、需要存入大量文本文件的参数设为
class CNewsSets : public CRecordset
{
public:
CNewsSets(CDatabase* pDatabase = NULL);
DECLARE_DYNAMIC(CNewsSets)


CString            m_title;
CLongBinary m_test;


}
并且相应的在
DoFieldExchange(CFieldExchange* pFX)中设定
RFX_LongBinary(pFX, _T("[test]"), m_test);然后在应用函数里面便是添加纪录
CNewsSet rs;rs.AddNew();rs.m_title=(LPCSTR)element.title;
CFile f;
CFileStatus status;
CLongBinary feifei;
f.Open("C:\123.txt",CFile::modeRead);
f.GetStatus(status);
rs.m_txtbody.m_dwDataLength=status.m_size;
HGLOBAL hGlobal=GlobalAlloc(GPTR,status.m_size);
rs.m_txtbody.m_hData=GlobalLock(hGlobal);
f.ReadHuge(rs.m_txtbody.m_hData,status.m_size);
GlobalUnlock(hGlobal);
rs.SetFieldDirty(&rs.m_txtbody,true); 
rs.SetFieldNull(&rs.m_txtbody,false);
rs.update();///////////////////////////////////
奇怪的事情就此发生!!!
update之后,所有的中文都变成了问号(????),如果只是update Cstring 的而不是clongbinary,中文却又能正确显示了,莫非update clongbinary的时候有什么影响?
高手请指点迷津!!!分数好说