ADO Data control v VC++
4 отговора
116 прегледа
ADO Data control v VC++
Imam promenliva ot tip CString,
Imam Dialog based application s ADO Data control, koito e vurzan za ACCESS-ka baza, kum nyakoya talbica.
Kak moga da procheta stoinostta na nyakoe pole v promenlivata
T.e tryabva mi analog na sledniya kod ot VB :
fieldvalue = Adodc1.Recordset.Fields("Name")
Imam Dialog based application s ADO Data control, koito e vurzan za ACCESS-ka baza, kum nyakoya talbica.
Kak moga da procheta stoinostta na nyakoe pole v promenlivata
T.e tryabva mi analog na sledniya kod ot VB :
fieldvalue = Adodc1.Recordset.Fields("Name")
Re: ADO Data control v VC++
eeeemi to tova na C++ se pravi slojno - s templati, trqbvat ti 2 class factoryta, malko heap management, posle shtom bazata ti e accesska, ti trqbva specialen licenz ot microsoft, i specialna dokumentaciq, opisvashta nqkolko nedokumentirani funkcii, bez koito nema da se opravish.
Re: ADO Data control v VC++
> ... i specialna dokumentaciq, opisvashta nqkolko nedokumentirani funkcii...
Абе случайно ти да си оня тип дето му пише речите на Джордж Буш?
Абе случайно ти да си оня тип дето му пише речите на Джордж Буш?
Re: ADO Data control v VC++
BSTR GetFieldVal(_Recordset *prs, TCHAR *pszFieldName)
{
_variant_t v;
Fields *pFields = NULL;
Field *pField = NULL;
prs->get_Fields(&pFields);
if (pFields == NULL) return NULL;
v = pszFieldName;
pFields->get_Item(v, &pField);
if (pField == NULL) return NULL;
pField->get_Value(&v);
return v.bstrVal;
}
Най-добре е да си направиш wraper на Recordset.
Я вышел им наперерез!
{
_variant_t v;
Fields *pFields = NULL;
Field *pField = NULL;
prs->get_Fields(&pFields);
if (pFields == NULL) return NULL;
v = pszFieldName;
pFields->get_Item(v, &pField);
if (pField == NULL) return NULL;
pField->get_Value(&v);
return v.bstrVal;
}
Най-добре е да си направиш wraper на Recordset.
Я вышел им наперерез!