Base de donnée BDE avec C#

Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
- - Dernière réponse : cs_nosil
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
- 18 août 2005 à 13:37
Hello tt le monde....



Je dois aller chercher des informations dans une base de données BDE 5.20 (Borland database engine) avec Visual C#.



Comment je dois m'y prendre?



Existe-il un driver ODBC comme pour SQL Server?



Ou je peux utiliser qqchose d'existant?



Merci de votre aide...



NoSiL
Afficher la suite 

16 réponses

Messages postés
103
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
10 septembre 2007
3
Commenter la réponse de cispo
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
Cool....merci

Maintenant, je vois que je peux travailler avec des fichiers *.dbf...

Moi j'aimerais bien pouvoir travailler avec les fichiers *.db...

Est-ce que c'est possible?

Si je ne me trompe pas, les fichiers *.dbf sont les fichiers apres exportation de la base, alors que me j'aimerais travailler sans exporter.

Merci deja pour votre aide...

NoSiL
Commenter la réponse de cs_nosil
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
J'ai tjrs un probleme avec mon acces a ma base de donnee.



Est-ce que qq'un pourrait m'aider?



Mon code de connection:







private void fnGetConnectedToDatabase()




{




string
conStr = @"Driver={Microsoft Paradox Driver (*.db )};DriverID=538;

Fil=Paradox5.X;

DefaultDir=\\Sql01\Winware\Auftrag\DATEN\MVORLAGE;



Dbq=\\Sql01\Winware\Auftrag\DATEN\MVORLAGE\;CollatingSequence=ASCII";

try

{

//open the connection to the database

myConn = new OdbcConnection(conStr);

myConn.Open();

}

catch (OdbcException ex)

{


MessageBox.Show("Error in connection ..." + ex.Message);

}

try

{


string sqlStr = "SELECT * FROM KUNDEN;";




//Instantiate a DataAdapter by passing the sqlStr and Connection.

//now data is in raw form


dAdapter = new OdbcDataAdapter(sqlStr, myConn);



//Instantiate a DataSet

dset = new DataSet();




//Gets a collection that provides the master mapping


// between a source table and a DataTable


//dAdapter.TableMappings.Add("Table", "Adresse");




/*A data adapter object utilizes the Fill method


to populate a DataSet or a DataTable object with data

retrieved by a SELECT command. */

dAdapter.Fill(dset);


//When binding a DataSet, .NET automatically uses the corresponding


//DataViewManager provided through the DataSet.DefaultViewManager
property


this.dviewmanager = dset.DefaultViewManager;




this.listBox1.DataSource = this.dviewmanager;


//display "studentTable.StudentID" in the ComboBox


this.listBox1.DisplayMember = "KUNDEN.Name";




// Close the connection to the database.

this.myConn.Close();

}

catch (Exception e)

{


MessageBox.Show("Error in sql query " + e.Message);

}



}

}



Apparamment la connection passe, mais apres il me met une erreur :



"Erreur in sql query ERROR [HY000][Microsoft][pilote ODBC Paradox] La table externe n'est pas dans le format attendu."



Voila,



A L'AIDE !!!!!
Commenter la réponse de cs_nosil
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
HELP !!
Commenter la réponse de cs_nosil
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
personne qui peut m'aider?
Commenter la réponse de cs_nosil
Messages postés
103
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
10 septembre 2007
3
0
Merci
As-tu réussi à isoler la ligne de code qui pose problème ?
Commenter la réponse de cispo
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
Hello cispo...



J'ai tjrs des problèmes...



Le truc, c'est que j'aimerais accéder à des tables d'un programme qui
utilise du paradox. Donc l'application tourne sur un serveur: \\sql01



Maintenant sur un autre poste qui est connecter avec ce serveur, j'utilise Visual Studio Express pour programmer en C#.



Je n'ai aucune idee comment faire pour récuperer une table (Adress.DB) de cette base de donnee.



Voila un peu mon problème...



Si tu arriverais à m'aider, je pourrais enfin continuer à programmer...



Merci d'avance



NoSil
Commenter la réponse de cs_nosil
Messages postés
103
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
10 septembre 2007
3
0
Merci
Je ne suis pas sur de bien te comprendre...



Mais jette quand même un coup d'oeil à ces quelques thread :



ici



ou encore ce code



En espérant que ça pourra t'aider.. :)
Commenter la réponse de cispo
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
Je dois être maudit par les dieu de C# (faut dire que je suis débutant en C#)...



Avec ce code la :



private void testConnection()

{



OleDbConnection myConn = new OleDbConnection();

DataRow ligneparadox = null;

DataRow ligneSQL = null;

int i = 0;

int nbr_ligne;




string conStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Programme\Winware\Auftrag\DATEN\MVORLAGE;Extended
Properties=Paradox 5.x;";

try

{


//Instantiate OleDbConnection and open

//the connection to the database


myConn = new OleDbConnection(conStr);

myConn.Open();

}

catch (OleDbException ex)

{


//get the error message if connection failed


MessageBox.Show("Error in connection ..." + ex.Message);

}




nbr_ligne =
dataset1.Tables[@"C:\Programme\Winware\Auftrag\DATEN\MVORLAGE\Adress.db"].Rows.Count;//nombre
de lignes a enregistrer



for
(i=0;i<nbr_ligne;i++)//remplissage des lignes une a une

{

ligneparadox = dataset1.Tables["Adress.db"].Rows[i];

ligneSQL = dataset2.Tables["nom_table_SQL"].NewRow();



ligneSQL["colonne1_SQL"] = ligneparadox["colonne1_paradox"];

ligneSQL["colonne2_SQL"] = ligneparadox["colonne2_paradox"];

ligneSQL["colonne3_SQL"] = ligneparadox["colonne3_paradox"];

ligneSQL["colonne4_SQL"] = ligneparadox["colonne4_paradox"];



dataset2.Tables["nom_table_SQL"].Rows.Add(ligneSQL);


}



sqlDataAdapter1.Update(dataset2);//enregistrement des nouvelles
données

}



Je recois un message d'erreur : Object reference was not set on an instance of an object.



Je suis vraiment perdu....
Commenter la réponse de cs_nosil
Messages postés
103
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
10 septembre 2007
3
0
Merci
ligneSQL = dataset2.Tables["nom_table_SQL"].NewRow();



Tu as peut-être oublié de modifier ce bout de code par erreur ?
Commenter la réponse de cispo
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
Il me plante deja sur la ligne "ligneparadox"....donc y a un problème deja avant...



Je te remercie pour ton aide, j'en ai bien besoin...
Commenter la réponse de cs_nosil
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
Oops....



Désolé, mais il me plante deja sur la ligne:



nbr_ligne =
dataset1.Tables[@"C:\Programme\Winware\Auftrag\DATEN\MVORLAGE\Adress.db"].Rows.Count;//nombre
de lignes a enregistrer



Merci, d'avance...



NoSiL
Commenter la réponse de cs_nosil
Messages postés
103
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
10 septembre 2007
3
0
Merci
Je pense qu'il faut que tu remplaces @"C:\Programme\Winware\Auftrag\DATEN\MVORLAGE\Adress.db par le nom de la table qui t'intéresse dans ta base de données.
Commenter la réponse de cispo
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
Deja essaye, j'ai essaye avec ODBC et OLEDB.....rien qui passe....



Devient fou....
Commenter la réponse de cs_nosil
Messages postés
103
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
10 septembre 2007
3
0
Merci
Ben je sais pas :/ Peut-être que quelqu'un qui s'y connait un peu plus et qui passe sur le thread pourra t'aider.
Commenter la réponse de cispo
Messages postés
37
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
20 octobre 2005
0
Merci
Ouais, pas de blème...



Merci quand-même...



NoSiL
Commenter la réponse de cs_nosil