Avatar billede neuro Nybegynder
12. december 2001 - 14:17 Der er 2 kommentarer og
1 løsning

CDatabase / CRecordset (MFC)

jeg er igang med at kigge lidt på MFC CDatabase og CRecordset, men jeg har problemet, da CRecordset returnerer CDBVariant og ikke en char, når jeg looper igennem mit recordset.

---- KODE START

CDatabase db;
    db.OpenEx(\"DRIVER=Microsoft Access Driver (*.mdb); DBQ=endb.mdb\",CDatabase::openReadOnly | CDatabase::noOdbcDialog);

    CRecordset rs( &db );
    rs.Open( CRecordset::forwardOnly,_T(\"select * from entabel\") );

    CDBVariant varValue;

    short nFields = rs.GetODBCFieldCount();

    while( !rs.IsEOF() ) {
      for( short index = 0; index < nFields; index++ ) {
          rs.GetFieldValue( index, varValue );         
          printf(\"* %s\\n\",varValue);
      }
      rs.MoveNext();
    }

    rs.Close();
    db.Close();

--- KODE SLUT

hvordan konverterer jeg denne CDBVariant til en char, så jeg kan arbejde videre med den i resten af min applikation?

på forhånd tak.
Avatar billede neuro Nybegynder
12. december 2001 - 14:27 #1
Nå .. Fandt selv ud af det .. Kunne jo bare bruge CString i stedet for CDBVariant.
Avatar billede jpk Nybegynder
12. december 2001 - 14:29 #2
Når du alligevel bruger MFC, hvorfor så ikke anvende CStrings?
CDBVariant har følgende operatorer, som du kan bruge alt efter hvad datatype du vil hente ud fra feltet:

m_dwType Contains the data type of the currently stored value. Type DWORD.
m_boolVal Contains a value of type BOOL.
m_chVal Contains a value of type unsigned char.
m_iVal Contains a value of type short.
m_lVal Contains a value of type long.
m_fltVal Contains a value of type float.
m_dblVal Contains a value of type double.
m_pdate Contains a pointer to an object of type TIMESTAMP_STRUCT.
m_pstring Contains a pointer to an object of type CString.
m_pbinary Contains a pointer to an object of type CLongBinary.

Avatar billede neuro Nybegynder
12. december 2001 - 14:35 #3
ellers tusind tak .. jpk , fandt dog selv ud af det ... men er helt sikker på at jeg nok skal drage nytte af det du har skrevet ... :)

du må godt kigge på.
http://www.eksperten.dk/spm/145741

hvis du kan svare på det, skal du nok få lidt ekstra point, som tak for dit svar her :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester