Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Datenbank und abgeschnittenem Cstring

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.10.2002, 21:55 Uhr
~TimoL
Gast


Wenn ich per ODBC auf eine Datenbank zugreife und der String länger als 255 (glaub ich) Zeichen enthält wird bei einem CString der Wert abgeschnitten.

Jetzt weiss ich aber, dass man das irgendwie beheben kann....
Nur nicht mehr wie...
Vielleicht irgendwie den Buffer höhersetzen?!?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.10.2002, 22:05 Uhr
void*
Generic Pointer
(Operator)


Hallo!

Das ist mir noch nicht unterkommen (was nichts zu bedeuten hat). Kannst Du Dein Szenario ein bisschen näher beschreiben:
Welche Klasse benutzt Du/welche Methoden rufst Du auf?
Gehst Du direkt über die ODBC-API?

Gruß
void*
--
Gruß
void*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.10.2002, 22:13 Uhr
~TimoL
Gast


Hi,

ich benutze eine von CRecordset abgeleitete Klasse und gehe per CDatabase auf die MySQL-Datenbank.
Schreiben kann ich Zeichenlängen > 255 aber lesen nicht!
Und wenn ich dann diesen gelesenen String wieder schreibe ist das schon doof....

Hier vielleicht mal ein kleiner Ausschnitt (aber nicht auf Qualität achten ):

CSetAnyTable rsKunde(&m_pApp->m_db);
CString strSQL;
strSQL.Format(
"select name1, name2 from partner p inner join partnerart pa on p.pdb_nr = pa.pdbnr "
"where pdb_nr = %s and pa.partnerart = '01' ",
strKundennr);

CString strName1;
CString strName2;

rsKunde.Add(strName1, "Name1");
rsKunde.Add(strName2, "Name2");

try
{
rsKunde.Open(AFX_DB_USE_DEFAULT_TYPE, strSQL);
rsKunde.Close();
}
catch (CDBException* e)
{
TRACE("File: %s; Line: %d\n", __FILE__, __LINE__);
MessageBox(e->m_strError, "Fehler", MB_ICONEXCLAMATION);
e->Delete();
return false;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.10.2002, 22:49 Uhr
~TimoL
Gast


Hab's endlich rausgefunden:

void AFXAPI RFX_Text(CFieldExchange* pFX, const char *szName,
CString& value, int nMaxLength = 255, int nColumnType =
SQL_VARCHAR);

siehe:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfcnotes_tn045.asp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: