Sitter och försöker få data ur ett recordet att listas i min Editbox (VC++) men den bara skriver över föregående rad hela tiden. Borde väl snarare vara: OK tack Niklas men jag löste det hela med en ListBox istället. Glöm det... min virriga panna som ställde till det bara. Bra lösning på problemet!Hur listar jag min data i en Editbox?
Här är min lilla kodsnutt som inte funkar. Kanske någon kan se vad jag inte gör rätt?
while(!m_pADODB->EndOfFile)
{
m_strQueryResult = NewCustomerRS.m_sRoomCategory;
m_strQueryResult += "\n"; //Försöker mig här på en radbrytning men ICKE!!!!
m_pADODB->MoveNext();
UpdateData(FALSE);
}Sv: Hur listar jag min data i en Editbox?
m_strQueryResult += NewCustomerRS.m_sRoomCategory;
m_strQueryResult += "\n";Sv: Hur listar jag min data i en Editbox?
Dock har ett nytt problem uppstått. Sista posten i recordset matas ut två ggr. Varför?
Så här ser hela utmaningsfunktionen ut.
void CSearchAvailableRoomDlg::Show()
{
if(adFldOK==NewCustomerRS.lIDRoomCategoryStatus)
{
while(!m_pADODB->EndOfFile)
{
m_cQueryResult.AddString(NewCustomerRS.m_sRoomCategory);
m_pADODB->MoveNext();
}
}
UpdateData(FALSE);
}Sv: Hur listar jag min data i en Editbox?
Sv: Hur listar jag min data i en Editbox?
Har personligen väldigt lite erfarenhet av databaser, men jag har för mig att eof inte kommer förrän man _försöker_ hämta. Du får alltså först spara strängen, sen ta MoveNext, och sen kolla om endoffile har inträffat. Nåt sånt här alltså:
void CSearchAvailableRoomDlg::Show()
{
string sTemp; //eller den strängtyp du använder
if(adFldOK==NewCustomerRS.lIDRoomCategoryStatus)
{
while(!m_pADODB->EndOfFile)
{
sTemp=NewCustomerRS.m_sRoomCategory;
m_pADODB->MoveNext();
if(!m_pADODB->EndOfFile)
m_cQueryResult.AddString(NewCustomerRS.m_sRoomCategory);
}
}
UpdateData(FALSE);
}