Base de donnée BDE avec C#

cs_nosil Messages postés 37 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 20 octobre 2005 - 10 août 2005 à 17:33
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

16 réponses

cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 3
10 août 2005 à 17:53
0
cs_nosil Messages postés 37 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 20 octobre 2005
11 août 2005 à 09:47
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
0
cs_nosil Messages postés 37 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 20 octobre 2005
12 août 2005 à 16:02
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 !!!!!
0
cs_nosil Messages postés 37 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 20 octobre 2005
16 août 2005 à 10:58
HELP !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_nosil Messages postés 37 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 20 octobre 2005
17 août 2005 à 10:35
personne qui peut m'aider?
0
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 3
17 août 2005 à 10:41
As-tu réussi à isoler la ligne de code qui pose problème ?
0
cs_nosil Messages postés 37 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 20 octobre 2005
17 août 2005 à 15:22
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
0
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 3
17 août 2005 à 15:43
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.. :)
0
cs_nosil Messages postés 37 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 20 octobre 2005
17 août 2005 à 16:17
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....
0
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 3
17 août 2005 à 18:16
ligneSQL = dataset2.Tables["nom_table_SQL"].NewRow();



Tu as peut-être oublié de modifier ce bout de code par erreur ?
0
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 à 08:20
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...
0
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 à 08:24
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
0
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 3
18 août 2005 à 09:26
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.
0
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 à 09:35
Deja essaye, j'ai essaye avec ODBC et OLEDB.....rien qui passe....



Devient fou....
0
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 3
18 août 2005 à 12:07
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.
0
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
Ouais, pas de blème...



Merci quand-même...



NoSiL
0
Rejoignez-nous