DAO && CDaoRecordset::SetFieldValue

2 отговора 59 прегледа
#1

DAO && CDaoRecordset::SetFieldValue

Имам проблем с едитването в DAO, при все, че нямам проблеми с четенето! Ако някой може да ми каже, къде бъркам ще му бъда благодарен!!!


UpdateData(TRUE);
Recordset.Edit(); //отворил съм го по-горе в кода
COleVariant var;
var.vt = VT_INT;
var.intVal = m_Num;
Recordset.SetFieldValue(_T("Field1"),var);
var.vt = VT_BSTR;
var.bstrVal = m_SpecAn.AllocSysString();
Recordset.SetFieldValue(_T("Field2"),var);
var.bstrVal = m_PropType.AllocSysString();
Recordset.SetFieldValue(_T("Field3"),var);
Recordset.Update();

При този код излиза съобщение "Out of memory", още на първата функция SetFieldValue!!!
Somebody help me!!!

Отговор
в отговор на Hekleramp;Koch #2

stranna rabota

da ne si go otvoril read only?
kam kakvo se vrazvash s DAO-to?

Отговор
в отговор на Hekleramp;Koch #3

Re: DAO && CDaoRecordset::SetFieldValue

sigurno si go chel veche, no ako ne si vij moje da ti svarshi rabota

Note that if you are not creating a UNICODE recordset, you must either use a form of SetFieldValue that does not contain a COleVariant parameter (one of the last two syntax forms), or the COleVariant object must be explicitly declared ANSI. This can be done by using the COleVariant::COleVariant( lpszSrc, vtSrc ) form of constructor with vtSrc set to VT_BSTRT (ANSI) or by using the COleVariant function SetString( lpszSrc, vtSrc ) with vtSrc set to VT_BSTRT.

Отговор