Excel+ODBC
l0ghan
-
DestyNov@ -
DestyNov@ -
bonjour a tous ,
je suis actuellement en projet informatique et je suis ien embeter car voila une partie du programme que j'ai a accomplir
je voudrai recuperer des données stockées dans une fiche excel sous ce format la:
--------------------------------------------------------------------------------------------
NameVariable | ValeureVariable
m_path | d:\coucou.xls
m_frequencedereceptiontemp | 20
--------------------------------------------------------------------------------------------
voila mon code mais il ne marche pas quelqu'un a t'il une solution ?
g l'impression qu'il l'importe mais il me fais une erreur qui requier le debugger .....
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CString nomfiche="C:\\Documents and Settings\\ARmaNi\\Bureau\\boulo\\31-3-2005_à_10H35Min51Sec.xls";
CDatabase database;
CString sSql = "SELECT * FROM Tvariables ";
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)";
CString sDsn;
sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, nomfiche);
database.Open(NULL,false,false,sDsn);
CRecordset recset(&database);
if(recset.Open(CRecordset::forwardOnly,sSql,CRecordset::readOnly))
{
while( !recset.IsEOF() )
{
recset.GetFieldValue("m_path",m_path);
recset.GetFieldValue("m_frequencedereceptiontemp",m_frequencedereceptiontemp);
}
database.Close();
}
else
AfxMessageBox("probleme");
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
merci d'avance a celui qui pourra m'aider
je suis actuellement en projet informatique et je suis ien embeter car voila une partie du programme que j'ai a accomplir
je voudrai recuperer des données stockées dans une fiche excel sous ce format la:
--------------------------------------------------------------------------------------------
NameVariable | ValeureVariable
m_path | d:\coucou.xls
m_frequencedereceptiontemp | 20
--------------------------------------------------------------------------------------------
voila mon code mais il ne marche pas quelqu'un a t'il une solution ?
g l'impression qu'il l'importe mais il me fais une erreur qui requier le debugger .....
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CString nomfiche="C:\\Documents and Settings\\ARmaNi\\Bureau\\boulo\\31-3-2005_à_10H35Min51Sec.xls";
CDatabase database;
CString sSql = "SELECT * FROM Tvariables ";
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)";
CString sDsn;
sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, nomfiche);
database.Open(NULL,false,false,sDsn);
CRecordset recset(&database);
if(recset.Open(CRecordset::forwardOnly,sSql,CRecordset::readOnly))
{
while( !recset.IsEOF() )
{
recset.GetFieldValue("m_path",m_path);
recset.GetFieldValue("m_frequencedereceptiontemp",m_frequencedereceptiontemp);
}
database.Close();
}
else
AfxMessageBox("probleme");
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
merci d'avance a celui qui pourra m'aider
3 réponses
-
Bonjour LOghan,
Je ne connais pas particulièrement ce langage, mais pourquoi mets-tu des double \\ dans :
CString nomfiche="C:\\Documents and Settings\\ARmaNi\\Bureau\\boulo\\31-3-2005_à_10H35Min51Sec.xls";
???
Armojax. -
le "\\" est indispensable car c'estune chaine de caractere de la class cstring et donc pour eviter de confondree avec un "\0" ou une connerie dans le genre on met "\\"
voila -
Salut =)
tu as essayé de debugger le prgm pour voir ou ça plantait ?
essaie aussi d'enlever le while et de ne lire qu'un seul enregistrement.
tu peux rajouter des try and catch pour éviter d'avoir la p'tite fenêtre "Debug Assertion" et de mieux gérer les erreurs.
++