Hej alla co-geeks! Du får nog vara lite mer specifik. Du kör med MFC som är kopplat till en databas via VC6? Problemet är att det är en redan existerande applikation som används. Att byta är helt och hållet uteslutet, då jag skulle få skriva om ett helt prog. Koden ser ut så här... typ... Ja, då börjar du med att kolla på en enkel sql-sats, "SELECT * FROM Tabell1".Databaser och MFC VC++ 6.0
Är rätt så ny på det här med C++. Och vet inte om jag är på rätt spår men jag gör ett försök.
Skall till att göra en SELECT COUNT (*) WHERE nånitng < nånting
Jag har "gågglat" runt lite på allehanda sidor. En del säger:"nänä det där går inte" Medans andra säger:"gör så här". Har dock inte fått ngt till att funka.
Försöker nu med att använda CRecordset för att på ngt sätt kunna räkna ut hur många poster det gäller.
Tack på förhandSv: Databaser och MFC VC++ 6.0
Mina första råd är:
1. VC6 är knappt en C++-kompilator. Byt upp dig till något vettigare om möjligt.
2. MFC är i mitt tycke något av det värsta som finns. Jag skulle nog tipsa om sqlite istället, då bör det gå ganska smärtfritt.Sv:Databaser och MFC VC++ 6.0
CDatabase db;
CRecordset (&db);
CString sql = "SELECT * FROM bla bla bla";
rs.Open(CRecordset::forwardOnly, sql, CRecordset::readOnly);
int count = 0;
if(rs.GetRecordCount() > 0)
{
while(!rs.IsEOF())
{
rs.MoveNext();
count++;
}
}
Allt detta ligger i ett try block, men count är och förblir alltid 0
Är inte heller så glad för denna djungelSv: Databaser och MFC VC++ 6.0
Så att du vet att du ska ha ut något.
Sen framgår det inte om du måste ansluta till databasen, och faktiskt göra en execute på frågan osv., och huruvida du gör det.
Sen måste du skriva ut eller kolla på variablerna ordentligt under själva körningen så att du ser vad allt innehåller. Det är omöjligt för någon att svara på vad som är fel om du berättar att koden "typ ser ut så här".