Thomas Stockbruegger
asked on
Need some help with ListView and dispaly
"the code is okay...everything works wine.....just the display delay"
Hello,
I need some help with my ListView.
Below is the code how I read the sql table and set the data to my ListView m_List1
Because of the big size of the data I will get the a display like my the pictures I have enclosed.
Can I change that....so the user sees the empty ListView with all rows....and if I have all data read....
the data should be displayed in a second in my ListView.
I hope you understand my question.
500 points with a solution.
Best regards,
Thomas
void CLieferscheine_Dialog::Lie ferscheine _lesen(voi d)
{
//SQL Server
m_strConnection = _T("Driver={SQL Server}; Server=DSERVER; Database=OMSDATEN;Uid=;Pwd ;");
CString sql;
//------------------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
//Initialize the Recordset and binding pointers
m_ptrRs = NULL;
m_piAdoRecordBinding = NULL;
//Initialize the COM environment
::CoInitialize(NULL);
try
{
//Create the recordset object
m_ptrRs.CreateInstance(__u uidof(Reco rdset));
//------------------------ -- Suche einzelnen Auftrag vom Hauptmenu -------------------------
//ohne Typ 50 ... bei Benteler die Verpackung
CString str_suche_Jahr="2011";
sql.Format("SELECT * FROM ViewLieferscheine WHERE LieferscheinNr<%d\
AND DATEPART(Year,Lieferschein datum)='%s '\
ORDER BY LieferscheinNr,Lieferschei ndatum DESC",2000000,str_suche_Ja hr);
//------------------------ ---------- ---------- ---------- ---------- ---------- ---------- ------
_bstr_t bstrQuery(sql);
//Open the recordset object Tabelle
m_ptrRs->Open(_variant_t(b strQuery), (LPCTSTR)m _strConnec tion, adOpenDynamic, adLockOptimistic, adCmdUnknown);
//Get a pointer to the record-binding interface Coils
if(FAILED(m_ptrRs->QueryIn terface(__ uuidof(IAD ORecordBin ding),(LPV OID *)&m_piAdoRecordBinding))) _com_issue_error(E_NOINTER FACE);
//Bind the record class to the recordset
// m_piAdoRecordBinding->Bind ToRecordse t(&m_rsRec Set); auf REM setzen wichtig
//************************ ********** ********** ********** ********** ********** *
_variant_t Holder_LieferscheinNr;
_variant_t Holder_Name1;
_variant_t Holder_Name2;
_variant_t Holder_StrassePostfach;
_variant_t Holder_Ort;
_variant_t Holder_Land;
_variant_t Holder_KundenNr;
_variant_t Holder_Lieferbedingung_Nr;
_variant_t Holder_Lieferbedingung_Bez eichnung;
_variant_t Holder_Lieferscheindatum;
_variant_t Holder_Sachbearbeiter;
_variant_t Holder_Postleitzahl;
int Holder_Gewicht;
bool Holder_Fakturiert;
CString str_LieferscheinNr;
CString str_Name1;
CString str_Name2;
CString str_Ort;
CString str_Land;
CString str_StrassePostfach;
CString str_KDNr;
CString str_Lieferbedingung_Nr;
CString str_Lieferbedingung_Bezeic hnung;
CString str_Lieferscheindatum;
CString str_Postleitzahl;
CString str_Sachbearbeiter;
CString str_Fakturiert;
CString str_Gewicht;
int Spalte =1;
int hoechstes_Jahr=0;
int Zeile=0;
if(m_ptrRs->BOF) goto Ende_der_while_Schleife;
//------------------------ -------- Lese Datei -------------------------- ----------
m_ptrRs->MoveFirst();
while(!m_ptrRs->EndOfFile)
{
Holder_LieferscheinNr = m_ptrRs->GetCollect("Liefe rscheinNr" );
Holder_Name1 = m_ptrRs->GetCollect("Versa ndName1");
Holder_Name2 = m_ptrRs->GetCollect("Versa ndName2");
Holder_StrassePostfach = m_ptrRs->GetCollect("Versa ndStrasseP ostfach");
Holder_Postleitzahl = m_ptrRs->GetCollect("Versa ndPostleit zahl");
Holder_Ort = m_ptrRs->GetCollect("Versa ndOrt");
Holder_Land = m_ptrRs->GetCollect("Versa ndLand");
Holder_KundenNr = m_ptrRs->GetCollect("Debit orenNr");
Holder_Lieferscheindatum = m_ptrRs->GetCollect("Liefe rscheindat um");
Holder_Lieferbedingung_Nr = m_ptrRs->GetCollect("Liefe rbedingung ");
Holder_Lieferbedingung_Bez eichnung = m_ptrRs->GetCollect("Textb austeinD") ;
Holder_Fakturiert = m_ptrRs->GetCollect("Faktu riert");
Holder_Gewicht = m_ptrRs->GetCollect("Gewic ht");
Holder_Sachbearbeiter = m_ptrRs->GetCollect("Sachb earbeiter" );
//----------- Copy _variant_t into CString ----------ABNr
if(Holder_LieferscheinNr.v t!=VT_NULL )
{
str_LieferscheinNr=(LPCSTR )(_bstr_t) Holder_Lie ferscheinN r.bstrVal;
str_LieferscheinNr.TrimRig ht();
m_LiefNr=str_LieferscheinN r;
}
else
{
str_LieferscheinNr.Empty() ;
}
//----------- Copy _variant_t into CString ----------Name1
if(Holder_Name1.vt!=VT_NUL L)
{
str_Name1=(LPCSTR)(_bstr_t )Holder_Na me1.bstrVa l;
str_Name1.TrimRight();
}
else
{
str_Name1.Empty();
}
//----------- Copy _variant_t into CString ----------Name2
if(Holder_Name2.vt!=VT_NUL L)
{
str_Name2=(LPCSTR)(_bstr_t )Holder_Na me2.bstrVa l;
str_Name2.TrimRight();
}
else
{
str_Name2.Empty();
}
//if(str_Name2!="") str_Name=str_Name+", "+str_Name2;
//----------- Copy _variant_t into CString ----------StrassePostfach
if(Holder_StrassePostfach. vt!=VT_NUL L)
{
str_StrassePostfach=(LPCST R)(_bstr_t )Holder_St rassePostf ach.bstrVa l;
str_StrassePostfach.TrimRi ght();
}
else
{
str_StrassePostfach.Empty( );
}
//----------- Copy _variant_t into CString ----------Ort
if(Holder_Ort.vt!=VT_NULL)
{
str_Ort=(LPCSTR)(_bstr_t)H older_Ort. bstrVal;
str_Ort.TrimRight();
}
else
{
str_Ort.Empty();
}
//----------- Copy _variant_t into CString ----------PLZ
if(Holder_Postleitzahl.vt! =VT_NULL)
{
str_Postleitzahl=(LPCSTR)( _bstr_t)Ho lder_Postl eitzahl.bs trVal;
str_Postleitzahl.TrimRight ();
}
else
{
str_Postleitzahl.Empty();
}
//----------- Copy _variant_t into CString ----------Land
if(Holder_Land.vt!=VT_NULL )
{
str_Land=(LPCSTR)(_bstr_t) Holder_Lan d.bstrVal;
str_Land.TrimRight();
}
else
{
str_Land.Empty();
}
// if(str_Land!="")str_Ort=st r_Ort+" / "+str_Land;
//----------- Copy _variant_t into CString ----------Kd-Nr.
if(Holder_KundenNr.vt!=VT_ NULL)
{
str_KDNr=(LPCSTR)(_bstr_t) Holder_Kun denNr.bstr Val;
str_KDNr.TrimRight();
}
else
{
str_KDNr.Empty();
}
//----------- Copy _variant_t into CString ----------Lieferbedingung_ Nr
if( Holder_Lieferbedingung_Nr. vt!=VT_NUL L)
{
str_Lieferbedingung_Nr=(LP CSTR)(_bst r_t) Holder_Lieferbedingung_Nr. bstrVal;
str_Lieferbedingung_Nr.Tri mRight();
}
else
{
str_Lieferbedingung_Nr.Emp ty();
}
//----------- Copy _variant_t into CString ----------Lieferbedingung_ Bezeichnun g
if( Holder_Lieferbedingung_Bez eichnung.v t!=VT_NULL )
{
str_Lieferbedingung_Bezeic hnung=(LPC STR)(_bstr _t) Holder_Lieferbedingung_Bez eichnung.b strVal;
str_Lieferbedingung_Bezeic hnung.Trim Right();
}
else
{
str_Lieferbedingung_Bezeic hnung.Empt y();
}
str_Lieferbedingung_Bezeic hnung="("+ str_Liefer bedingung_ Nr+") "+str_Lieferbedingung_Beze ichnung;
//----------- Copy _variant_t into CString ----------Sachbearbeiter
if( Holder_Sachbearbeiter.vt!= VT_NULL)
{
str_Sachbearbeiter=(LPCSTR )(_bstr_t) Holder_Sachbearbeiter.bstr Val;
str_Sachbearbeiter.TrimRig ht();
}
else
{
str_Sachbearbeiter.Empty() ;
}
//------------------------ ---------- ---------- ---------- - Lieferscheindatum
if (Holder_Lieferscheindatum. vt!=VT_NUL L)
{
str_Lieferscheindatum=( COleDateTime(Holder_Liefer scheindatu m.date).Fo rmat(_T("% d.%m.%y") ) ) ;
}
//------------------------ ---------- ---------- ---------- - Fakturiet
if(Holder_Fakturiert==fals e) str_Fakturiert="nein";
if(Holder_Fakturiert==true ) str_Fakturiert="ja";
//------------------------ ---------- ---------- ---------- -Gewicht
str_Gewicht.Format("%d",Ho lder_Gewic ht);
str_Gewicht=FormatString(s tr_Gewicht );//Funkti on
//------------------------ ----- Listenelement -------------------------- ----------
m_List1.InsertItem(Zeile,s tr_Liefers cheinNr);
m_List1.SetItemText(Zeile, 1,str_Lief erscheinda tum);
m_List1.SetItemText(Zeile, 2,str_Name 1);
m_List1.SetItemText(Zeile, 3,str_KDNr );
m_List1.SetItemText(Zeile, 4,str_Gewi cht);
m_List1.SetItemText(Zeile, 5,str_Lief erbedingun g_Bezeichn ung);
m_List1.SetItemText(Zeile, 6,str_Fakt uriert);
m_List1.SetItemText(Zeile, 7,str_Sach bearbeiter );
//------------------------ ---------- ---------- ---------- ---------- ---------- ----------
//Verhindert Error-Meldung BOF / EOF
if(m_ptrRs->EndOfFile)brea k;
//nächste Zeile
Zeile=Zeile+1;
m_ptrRs->MoveNext();
}
//------------------------ ---------- ---------- ---------- ----------
//%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% %%%%%%%%%% %%%%%%%%%
}
//######################## ########## ########## ########## ########## #####
//---------- Any erros? -------------
catch (_com_error &e)
{
//Display the error
CString x=m_LiefNr;
GenerateError(e.Error(), e.Description());
}
//------------------------ ---------- -
Ende_der_while_Schleife:
//************************ ********** ********** ********** ********** ********** *
//Close the recordset
if(m_ptrRs) m_ptrRs->Close(); //StatistikMetallwaren
// Do we have a valid pointer to the record binding?
if(m_piAdoRecordBinding) m_piAdoRecordBinding->Rele ase(); //StatistikMetallwaren
//Set the recordset pointer to NULL
m_ptrRs = NULL; //StatistikMetallwaren
//Shut down the COM environment
::CoUninitialize();
}
1.BMP
Hello,
I need some help with my ListView.
Below is the code how I read the sql table and set the data to my ListView m_List1
Because of the big size of the data I will get the a display like my the pictures I have enclosed.
Can I change that....so the user sees the empty ListView with all rows....and if I have all data read....
the data should be displayed in a second in my ListView.
I hope you understand my question.
500 points with a solution.
Best regards,
Thomas
void CLieferscheine_Dialog::Lie
{
//SQL Server
m_strConnection = _T("Driver={SQL Server}; Server=DSERVER; Database=OMSDATEN;Uid=;Pwd
CString sql;
//------------------------
//Initialize the Recordset and binding pointers
m_ptrRs = NULL;
m_piAdoRecordBinding = NULL;
//Initialize the COM environment
::CoInitialize(NULL);
try
{
//Create the recordset object
m_ptrRs.CreateInstance(__u
//------------------------
//ohne Typ 50 ... bei Benteler die Verpackung
CString str_suche_Jahr="2011";
sql.Format("SELECT * FROM ViewLieferscheine WHERE LieferscheinNr<%d\
AND DATEPART(Year,Lieferschein
ORDER BY LieferscheinNr,Lieferschei
//------------------------
_bstr_t bstrQuery(sql);
//Open the recordset object Tabelle
m_ptrRs->Open(_variant_t(b
//Get a pointer to the record-binding interface Coils
if(FAILED(m_ptrRs->QueryIn
//Bind the record class to the recordset
// m_piAdoRecordBinding->Bind
//************************
_variant_t Holder_LieferscheinNr;
_variant_t Holder_Name1;
_variant_t Holder_Name2;
_variant_t Holder_StrassePostfach;
_variant_t Holder_Ort;
_variant_t Holder_Land;
_variant_t Holder_KundenNr;
_variant_t Holder_Lieferbedingung_Nr;
_variant_t Holder_Lieferbedingung_Bez
_variant_t Holder_Lieferscheindatum;
_variant_t Holder_Sachbearbeiter;
_variant_t Holder_Postleitzahl;
int Holder_Gewicht;
bool Holder_Fakturiert;
CString str_LieferscheinNr;
CString str_Name1;
CString str_Name2;
CString str_Ort;
CString str_Land;
CString str_StrassePostfach;
CString str_KDNr;
CString str_Lieferbedingung_Nr;
CString str_Lieferbedingung_Bezeic
CString str_Lieferscheindatum;
CString str_Postleitzahl;
CString str_Sachbearbeiter;
CString str_Fakturiert;
CString str_Gewicht;
int Spalte =1;
int hoechstes_Jahr=0;
int Zeile=0;
if(m_ptrRs->BOF) goto Ende_der_while_Schleife;
//------------------------
m_ptrRs->MoveFirst();
while(!m_ptrRs->EndOfFile)
{
Holder_LieferscheinNr = m_ptrRs->GetCollect("Liefe
Holder_Name1 = m_ptrRs->GetCollect("Versa
Holder_Name2 = m_ptrRs->GetCollect("Versa
Holder_StrassePostfach = m_ptrRs->GetCollect("Versa
Holder_Postleitzahl = m_ptrRs->GetCollect("Versa
Holder_Ort = m_ptrRs->GetCollect("Versa
Holder_Land = m_ptrRs->GetCollect("Versa
Holder_KundenNr = m_ptrRs->GetCollect("Debit
Holder_Lieferscheindatum = m_ptrRs->GetCollect("Liefe
Holder_Lieferbedingung_Nr = m_ptrRs->GetCollect("Liefe
Holder_Lieferbedingung_Bez
Holder_Fakturiert = m_ptrRs->GetCollect("Faktu
Holder_Gewicht = m_ptrRs->GetCollect("Gewic
Holder_Sachbearbeiter = m_ptrRs->GetCollect("Sachb
//----------- Copy _variant_t into CString ----------ABNr
if(Holder_LieferscheinNr.v
{
str_LieferscheinNr=(LPCSTR
str_LieferscheinNr.TrimRig
m_LiefNr=str_LieferscheinN
}
else
{
str_LieferscheinNr.Empty()
}
//----------- Copy _variant_t into CString ----------Name1
if(Holder_Name1.vt!=VT_NUL
{
str_Name1=(LPCSTR)(_bstr_t
str_Name1.TrimRight();
}
else
{
str_Name1.Empty();
}
//----------- Copy _variant_t into CString ----------Name2
if(Holder_Name2.vt!=VT_NUL
{
str_Name2=(LPCSTR)(_bstr_t
str_Name2.TrimRight();
}
else
{
str_Name2.Empty();
}
//if(str_Name2!="") str_Name=str_Name+", "+str_Name2;
//----------- Copy _variant_t into CString ----------StrassePostfach
if(Holder_StrassePostfach.
{
str_StrassePostfach=(LPCST
str_StrassePostfach.TrimRi
}
else
{
str_StrassePostfach.Empty(
}
//----------- Copy _variant_t into CString ----------Ort
if(Holder_Ort.vt!=VT_NULL)
{
str_Ort=(LPCSTR)(_bstr_t)H
str_Ort.TrimRight();
}
else
{
str_Ort.Empty();
}
//----------- Copy _variant_t into CString ----------PLZ
if(Holder_Postleitzahl.vt!
{
str_Postleitzahl=(LPCSTR)(
str_Postleitzahl.TrimRight
}
else
{
str_Postleitzahl.Empty();
}
//----------- Copy _variant_t into CString ----------Land
if(Holder_Land.vt!=VT_NULL
{
str_Land=(LPCSTR)(_bstr_t)
str_Land.TrimRight();
}
else
{
str_Land.Empty();
}
// if(str_Land!="")str_Ort=st
//----------- Copy _variant_t into CString ----------Kd-Nr.
if(Holder_KundenNr.vt!=VT_
{
str_KDNr=(LPCSTR)(_bstr_t)
str_KDNr.TrimRight();
}
else
{
str_KDNr.Empty();
}
//----------- Copy _variant_t into CString ----------Lieferbedingung_
if( Holder_Lieferbedingung_Nr.
{
str_Lieferbedingung_Nr=(LP
str_Lieferbedingung_Nr.Tri
}
else
{
str_Lieferbedingung_Nr.Emp
}
//----------- Copy _variant_t into CString ----------Lieferbedingung_
if( Holder_Lieferbedingung_Bez
{
str_Lieferbedingung_Bezeic
str_Lieferbedingung_Bezeic
}
else
{
str_Lieferbedingung_Bezeic
}
str_Lieferbedingung_Bezeic
//----------- Copy _variant_t into CString ----------Sachbearbeiter
if( Holder_Sachbearbeiter.vt!=
{
str_Sachbearbeiter=(LPCSTR
str_Sachbearbeiter.TrimRig
}
else
{
str_Sachbearbeiter.Empty()
}
//------------------------
if (Holder_Lieferscheindatum.
{
str_Lieferscheindatum=( COleDateTime(Holder_Liefer
}
//------------------------
if(Holder_Fakturiert==fals
if(Holder_Fakturiert==true
//------------------------
str_Gewicht.Format("%d",Ho
str_Gewicht=FormatString(s
//------------------------
m_List1.InsertItem(Zeile,s
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
//------------------------
//Verhindert Error-Meldung BOF / EOF
if(m_ptrRs->EndOfFile)brea
//nächste Zeile
Zeile=Zeile+1;
m_ptrRs->MoveNext();
}
//------------------------
//%%%%%%%%%%%%%%%%%%%%%%%%
}
//########################
//---------- Any erros? -------------
catch (_com_error &e)
{
//Display the error
CString x=m_LiefNr;
GenerateError(e.Error(), e.Description());
}
//------------------------
Ende_der_while_Schleife:
//************************
//Close the recordset
if(m_ptrRs) m_ptrRs->Close(); //StatistikMetallwaren
// Do we have a valid pointer to the record binding?
if(m_piAdoRecordBinding) m_piAdoRecordBinding->Rele
//Set the recordset pointer to NULL
m_ptrRs = NULL; //StatistikMetallwaren
//Shut down the COM environment
::CoUninitialize();
}
1.BMP
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Can you add some log line to capture how much time each function is taking in milli seconds?
ASKER
I forgot to tell you that I use a timer in my dialog.
In CmainFrame
CLieferscheine_Dialog *pMeinDialog;
pMeinDialog = new CLieferscheine_Dialog;
pMeinDialog->mb_Kennzahl_f irst_show_ up=true;
pMeinDialog->ShowWindow(SW _SHOW);
Meindialog.cpp
void CLieferscheine_Dialog::OnT imer(UINT nIDEvent)
{
if(mb_Kennzahl_first_show_ up==true)
{
//======================== ==========
Lieferscheine_lesen();//Au fruf von Funktion
//======================== ==========
mb_Kennzahl_first_show_up= false;
}
CDialog::OnTimer(nIDEvent) ;
}
BOOL CLieferscheine_Dialog::OnI nitDialog( )
{
CDialog::OnInitDialog();
//========================
SetTimer(1,200,NULL);// Lieferscheine_lesen(); //Funktion
//========================
I have to run now....will talk tomorrow....hopefully we will find an answer
In CmainFrame
CLieferscheine_Dialog *pMeinDialog;
pMeinDialog = new CLieferscheine_Dialog;
pMeinDialog->mb_Kennzahl_f
pMeinDialog->ShowWindow(SW
Meindialog.cpp
void CLieferscheine_Dialog::OnT
{
if(mb_Kennzahl_first_show_
{
//========================
Lieferscheine_lesen();//Au
//========================
mb_Kennzahl_first_show_up=
}
CDialog::OnTimer(nIDEvent)
}
BOOL CLieferscheine_Dialog::OnI
{
CDialog::OnInitDialog();
//========================
SetTimer(1,200,NULL);// Lieferscheine_lesen(); //Funktion
//========================
I have to run now....will talk tomorrow....hopefully we will find an answer
ASKER
void CLieferscheine_Dialog::Lie ferscheine _lesen(voi d)
{
//SQL Server
m_strConnection = _T("Driver={SQL Server}; Server=DSERVER; Database=OMSDATEN;Uid=;Pwd ;");
CString sql;
m_ptrRs = NULL;
m_piAdoRecordBinding = NULL;
//Initialize the COM environment
::CoInitialize(NULL);
try
{
m_ptrRs.CreateInstance(__u uidof(Reco rdset));
CString str_suche_Jahr="2011";
sql.Format("SELECT * FROM ViewLieferscheine WHERE LieferscheinNr<%d\
AND DATEPART(Year,Lieferschein datum)='%s '\
ORDER BY LieferscheinNr,Lieferschei ndatum DESC",2000000,str_suche_Ja hr);
_bstr_t bstrQuery(sql);
//Open the recordset object Tabelle
m_ptrRs->Open(_variant_t(b strQuery), (LPCTSTR)m _strConnec tion, adOpenDynamic, adLockOptimistic,
adCmdUnknown);
if(FAILED(m_ptrRs->QueryIn terface(__ uuidof(IAD ORecordBin ding),(LPV OID *)
&m_piAdoRecordBinding))) _com_issue_error(E_NOINTER FACE);
//Bind the record class to the recordset
// m_piAdoRecordBinding->Bind ToRecordse t(&m_rsRec Set); auf REM setzen wichtig
//************************ ********** ********** ********** ********** ********** *
_variant_t Holder_LieferscheinNr;
_variant_t Holder_Name1;
.
.
.
CString str_LieferscheinNr;
CString str_Name1;
.
.
.
int Spalte =1;
int hoechstes_Jahr=0;
int Zeile=0;
if(m_ptrRs->BOF) goto Ende_der_while_Schleife;
//------------------------ -------- Lese Datei -------------------------- ----------
m_ptrRs->MoveFirst();
while(!m_ptrRs->EndOfFile)
{
Holder_LieferscheinNr = m_ptrRs->GetCollect("Liefe rscheinNr" );
Holder_Name1 = m_ptrRs->GetCollect("Versa ndName1");
.
.
.
.
Holder_Sachbearbeiter = m_ptrRs->GetCollect("Sachb earbeiter" );
//------------------------ ---------- ---------- ---------- ---------- ---------- ---------- -
//----------- Copy _variant_t into CString ----------
if(Holder_LieferscheinNr.v t!=VT_NULL )
{
str_LieferscheinNr=(LPCSTR )(_bstr_t) Holder_Lie ferscheinN r.bstrVal;
str_LieferscheinNr.TrimRig ht();
m_LiefNr=str_LieferscheinN r;
}
else
{
str_LieferscheinNr.Empty() ;
}
.
.
.
.
.
//----------- Copy _variant_t into CString ----------Sachbearbeiter
if( Holder_Sachbearbeiter.vt!= VT_NULL)
{
str_Sachbearbeiter=(LPCSTR )(_bstr_t) Holder_Sachbearbeiter.bstr Val;
str_Sachbearbeiter.TrimRig ht();
}
else
{
str_Sachbearbeiter.Empty() ;
}
//------------------------ ---------- ---------- ---------- -
m_str_LieferscheinNr=str_L ieferschei nNr;
m_str_Lieferscheindatum=st r_Liefersc heindatum;
m_str_Anschrift=str_Anschr ift;
m_str_KDNr=str_KDNr;
m_str_Gewicht=str_Gewicht;
m_str_Lieferbedingung_Beze ichnung=st r_Lieferbe dingung_Be zeichnung;
m_str_Fakturiert=str_Faktu riert;
m_str_Sachbearbeiter=str_S achbearbei ter;
//======================== =====
Schreibe_Listenelement(Zei le); //Call Function
//======================== =====
//Verhindert Error-Meldung BOF / EOF
if(m_ptrRs->EndOfFile)brea k;
//nächste Zeile
Zeile=Zeile+1;
m_ptrRs->MoveNext();
}
}
//######################## ########## ########## ########## ########## #####
//---------- Any erros? -------------
catch (_com_error &e)
{
//Display the error
CString x=m_LiefNr;
GenerateError(e.Error(), e.Description());
}
//------------------------ ---------- -
Ende_der_while_Schleife:
//Close the recordset
if(m_ptrRs) m_ptrRs->Close();
// Do we have a valid pointer to the record binding?
if(m_piAdoRecordBinding) m_piAdoRecordBinding->Rele ase();
//Set the recordset pointer to NULL
m_ptrRs = NULL;
//Shut down the COM environment
::CoUninitialize();
}
//------------------------ ---------- -------- New Function -------------------------- ---------- ----------
void CLieferscheine_Dialog::Sch reibe_List enelement( int Zeile)
{
m_List1.InsertItem(Zeile,m _str_Liefe rscheinNr) ;
m_List1.SetItemText(Zeile, 1,m_str_Li eferschein datum);
m_List1.SetItemText(Zeile, 2,m_str_An schrift);
m_List1.SetItemText(Zeile, 3,m_str_KD Nr);
m_List1.SetItemText(Zeile, 4,m_str_Ge wicht);
m_List1.SetItemText(Zeile, 5,m_str_Li eferbeding ung_Bezeic hnung);
m_List1.SetItemText(Zeile, 6,m_str_Fa kturiert);
m_List1.SetItemText(Zeile, 7,m_str_Sa chbearbeit er);
}
//------------------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------
Hello,
I did the adding to the ListView now in a new function.
Did you mean that? It didn´t work. Same result. Let me know, thanks.
I replaced this:
//------------------------ ----- Listenelement -------------------------- ----------
m_List1.InsertItem(Zeile,s tr_Liefers cheinNr);
m_List1.SetItemText(Zeile, 1,str_Lief erscheinda tum);
m_List1.SetItemText(Zeile, 2,str_Name 1);
m_List1.SetItemText(Zeile, 3,str_KDNr );
m_List1.SetItemText(Zeile, 4,str_Gewi cht);
m_List1.SetItemText(Zeile, 5,str_Lief erbedingun g_Bezeichn ung);
m_List1.SetItemText(Zeile, 6,str_Fakt uriert);
m_List1.SetItemText(Zeile, 7,str_Sach bearbeiter );
//------------------------ ---------- ---------- ---------- ---------- ---------- ----------
with this:
m_str_LieferscheinNr=str_L ieferschei nNr;
m_str_Lieferscheindatum=st r_Liefersc heindatum;
m_str_Anschrift=str_Anschr ift;
m_str_KDNr=str_KDNr;
m_str_Gewicht=str_Gewicht;
m_str_Lieferbedingung_Beze ichnung=st r_Lieferbe dingung_Be zeichnung;
m_str_Fakturiert=str_Faktu riert;
m_str_Sachbearbeiter=str_S achbearbei ter;
//======================== =====
Schreibe_Listenelement(Zei le); //Call Function
//======================== =====
{
//SQL Server
m_strConnection = _T("Driver={SQL Server}; Server=DSERVER; Database=OMSDATEN;Uid=;Pwd
CString sql;
m_ptrRs = NULL;
m_piAdoRecordBinding = NULL;
//Initialize the COM environment
::CoInitialize(NULL);
try
{
m_ptrRs.CreateInstance(__u
CString str_suche_Jahr="2011";
sql.Format("SELECT * FROM ViewLieferscheine WHERE LieferscheinNr<%d\
AND DATEPART(Year,Lieferschein
ORDER BY LieferscheinNr,Lieferschei
_bstr_t bstrQuery(sql);
//Open the recordset object Tabelle
m_ptrRs->Open(_variant_t(b
adCmdUnknown);
if(FAILED(m_ptrRs->QueryIn
&m_piAdoRecordBinding))) _com_issue_error(E_NOINTER
//Bind the record class to the recordset
// m_piAdoRecordBinding->Bind
//************************
_variant_t Holder_LieferscheinNr;
_variant_t Holder_Name1;
.
.
.
CString str_LieferscheinNr;
CString str_Name1;
.
.
.
int Spalte =1;
int hoechstes_Jahr=0;
int Zeile=0;
if(m_ptrRs->BOF) goto Ende_der_while_Schleife;
//------------------------
m_ptrRs->MoveFirst();
while(!m_ptrRs->EndOfFile)
{
Holder_LieferscheinNr = m_ptrRs->GetCollect("Liefe
Holder_Name1 = m_ptrRs->GetCollect("Versa
.
.
.
.
Holder_Sachbearbeiter = m_ptrRs->GetCollect("Sachb
//------------------------
//----------- Copy _variant_t into CString ----------
if(Holder_LieferscheinNr.v
{
str_LieferscheinNr=(LPCSTR
str_LieferscheinNr.TrimRig
m_LiefNr=str_LieferscheinN
}
else
{
str_LieferscheinNr.Empty()
}
.
.
.
.
.
//----------- Copy _variant_t into CString ----------Sachbearbeiter
if( Holder_Sachbearbeiter.vt!=
{
str_Sachbearbeiter=(LPCSTR
str_Sachbearbeiter.TrimRig
}
else
{
str_Sachbearbeiter.Empty()
}
//------------------------
m_str_LieferscheinNr=str_L
m_str_Lieferscheindatum=st
m_str_Anschrift=str_Anschr
m_str_KDNr=str_KDNr;
m_str_Gewicht=str_Gewicht;
m_str_Lieferbedingung_Beze
m_str_Fakturiert=str_Faktu
m_str_Sachbearbeiter=str_S
//========================
Schreibe_Listenelement(Zei
//========================
//Verhindert Error-Meldung BOF / EOF
if(m_ptrRs->EndOfFile)brea
//nächste Zeile
Zeile=Zeile+1;
m_ptrRs->MoveNext();
}
}
//########################
//---------- Any erros? -------------
catch (_com_error &e)
{
//Display the error
CString x=m_LiefNr;
GenerateError(e.Error(), e.Description());
}
//------------------------
Ende_der_while_Schleife:
//Close the recordset
if(m_ptrRs) m_ptrRs->Close();
// Do we have a valid pointer to the record binding?
if(m_piAdoRecordBinding) m_piAdoRecordBinding->Rele
//Set the recordset pointer to NULL
m_ptrRs = NULL;
//Shut down the COM environment
::CoUninitialize();
}
//------------------------
void CLieferscheine_Dialog::Sch
{
m_List1.InsertItem(Zeile,m
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
}
//------------------------
Hello,
I did the adding to the ListView now in a new function.
Did you mean that? It didn´t work. Same result. Let me know, thanks.
I replaced this:
//------------------------
m_List1.InsertItem(Zeile,s
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
m_List1.SetItemText(Zeile,
//------------------------
with this:
m_str_LieferscheinNr=str_L
m_str_Lieferscheindatum=st
m_str_Anschrift=str_Anschr
m_str_KDNr=str_KDNr;
m_str_Gewicht=str_Gewicht;
m_str_Lieferbedingung_Beze
m_str_Fakturiert=str_Faktu
m_str_Sachbearbeiter=str_S
//========================
Schreibe_Listenelement(Zei
//========================
ASKER
Can you add some log line to capture how much time each function is taking in milli seconds?
how should I do thsi?
how should I do thsi?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Yes...a single function
First, Can you break this into 3?
I don´t now