[C#.NET]logiciel GNU et acces a une base de données fichier ?

logiciel GNU et acces a une base de données fichier ? [C#.NET] - C#/.NET managed - Programmation

Marsh Posté le 08-04-2005 à 12:19:33    

Bonjour, je suis en train de developper un logiciel de gestion de notes d'eleves (resultats scolaire) un genre de carnet de notes pour enseignant, je le developpe avec SharpDevelop et je souhaite utiliser une base de données sous forme de fichier (donc resistribuable) mais je souhaite que ce logiciel puisse entre redistridué sous la licence GNU GPL ...
quel type de base de données dois-je utiliser et comment ?
Merci :jap:


Message édité par phenxdesign le 08-04-2005 à 22:11:50
Reply

Marsh Posté le 08-04-2005 à 12:19:33   

Reply

Marsh Posté le 08-04-2005 à 12:32:27    

Tu peux prendre une base Access. Sous ADO.NET, t'as le provider OLEDB qui te permet d'utiliser un fichier Access, sans avoir besoin d'Access. C'est ce que j'utilise pour  un de mes logiciels, ça marche super

Reply

Marsh Posté le 08-04-2005 à 13:15:17    

mais non. Dois bien exister sqlite# ou un gdbm#

Reply

Marsh Posté le 08-04-2005 à 13:35:21    

Au choix [:spamafote]

Reply

Marsh Posté le 08-04-2005 à 18:07:31    

j'ai cherché pour gdbm et sqlite, mais ya rien pour le .net ... a moins que je sache pas chercher ...

Reply

Marsh Posté le 08-04-2005 à 18:58:11    

Bah sinon un fichier Access [:spamafote] Y'a même tout ce qu'il faut pour en créer un de toutes pièces

Reply

Marsh Posté le 08-04-2005 à 20:02:50    

c'est pas faute davoir essayer, j'ai cherché partout comment gerer ces fichiers, ok, jarrive a my connecter, j'ai lu la doc .net sdk, des tutos, regardé des sources ... mais jarrive pas a ... y arriver ...
j'ai deja un fichier access, mais cest meme pas la peine, ya toujours une erreur ...
j'ai essayé avec OleDbConnection, en vain ...

Reply

Marsh Posté le 09-04-2005 à 11:41:50    

Poste un bout de code. Avec un OleDbConnection, ça marche nickel, après tu fais tes OleDbDataAdapter qui font remplir un  DataSet

Reply

Marsh Posté le 09-04-2005 à 11:57:30    

Code :
  1. string strOleDbConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\AliNotes\\alinotes.mdb";
  2. OleDbConnection connexion = new OleDbConnection(strOleDbConnection);
  3. DataSet ds = new DataSet();
  4. OleDbCommand command = new OleDbCommand("SELECT * FROM tblEleves",connexion);
  5. OleDbDataAdapter adapter = new OleDbDataAdapter(command);
  6. connexion.Open();
  7. adapter.Fill(ds);
  8. DataRowCollection res = ds.Tables["tblEleves"].Rows;
  9. foreach(DataRow ress in res)
  10. {
  11.   label1.Text = label1.Text + ress[2];
  12. }


donc ça doit afficher le nom de tous les eleves (la 3eme colonne) dans un textbox ...
mais ça me met toujours une erreur ...
mais en fait je prefererais faire une base de données XML, je crois que c'est possible, quite a refaire ma base de données ... si vous voulez voir le logiciel en entier (pour le peu qu'il yen a  ...) : http://www.csharpfr.com/code.aspx?ID=30639

Reply

Marsh Posté le 09-04-2005 à 11:59:00    

he, joubliais, il doit y avoir une erreur au remplissage du dataset , ça doit pas etre ça, il manque un argement je crois  ...

Reply

Marsh Posté le 09-04-2005 à 11:59:00   

Reply

Marsh Posté le 09-04-2005 à 11:59:02    

La première chose alors, est de nous donner l'erreur [:itm]
 
Et y'a pas besoin de faire :

DataRowCollection res = ds.Tables["tblEleves"].Rows;
foreach(DataRow ress in res)


Tu peux faire :

foreach(DataRow ress in ds.Tables["tblEleves"].Rows)

:)


Message édité par FlorentG le 09-04-2005 à 11:59:12
Reply

Marsh Posté le 09-04-2005 à 12:01:59    

merci, ben en fait je viens de trouver (quel boulet je suis)
ça marche !!
merci pour tout !!

Code :
  1. string strOleDbConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\AliNotes\\AliNotes\\alinotes.mdb";
  2. OleDbConnection connexion = new OleDbConnection(strOleDbConnection);
  3. DataSet ds = new DataSet();
  4. OleDbCommand command = new OleDbCommand("SELECT * FROM tblEleves",connexion);
  5. OleDbDataAdapter adapter = new OleDbDataAdapter(command);
  6. connexion.Open();
  7. adapter.Fill(ds,"tblEleves" );
  8. DataRowCollection res = ds.Tables["tblEleves"].Rows;
  9. foreach(DataRow ress in res)
  10. {
  11. label1.Text = label1.Text + ress[2];
  12. }

Reply

Marsh Posté le 09-04-2005 à 12:02:48    

Comme dit, pas besoin de sortir le DataRowCollection de la boucle foreach, le compilo s'en charge ;)

Reply

Marsh Posté le 09-04-2005 à 12:02:56    

mais peut-on faire tout ça avec un fichier XML, si oui, coment le creer ?

Reply

Marsh Posté le 09-04-2005 à 12:03:28    

Le DataSet peut se sérialiser en XML

Reply

Marsh Posté le 09-04-2005 à 12:04:04    

FlorentG a écrit :

Comme dit, pas besoin de sortir le DataRowCollection de la boucle foreach, le compilo s'en charge ;)


merci :)
mais j'ai l'habitude de faire du code a rallonge :D

Reply

Marsh Posté le 09-04-2005 à 12:05:06    

FlorentG a écrit :

Le DataSet peut se sérialiser en XML


donc il suffirait que je fasse un petite source qui serialise ma base et qui lenregistre en XML ?

Reply

Marsh Posté le 09-04-2005 à 12:05:43    

sur ce, je vais me doucher, je reviens ce soir :)

Reply

Marsh Posté le 09-04-2005 à 12:08:00    

phenxdesign a écrit :

donc il suffirait que je fasse un petite source qui serialise ma base et qui lenregistre en XML ?


Voilà, c'est archi-simple à faire :)

Reply

Marsh Posté le 09-04-2005 à 16:14:58    

me revoila !!
alors on disait, pour serialiser la base de données, je m'y prends comment, je fais table par table, et je rajoute chacune delles au fichier ? je connais rien en base de données XML, ou en tout cas comment les gerer avec c# ...
mais deja, je pourrais me contenter de ma base access, apres il suffit de changer la connexion je pense ...

Reply

Marsh Posté le 09-04-2005 à 20:13:09    

phenxdesign a écrit :

j'ai cherché pour gdbm et sqlite, mais ya rien pour le .net ... a moins que je sache pas chercher ...


je pense effectivement que tu sais pas chercher
http://www.phpguru.org/static/SQLite.NET.html


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed