Images, access & c#

Résolu
cs_Nichiren Messages postés 6 Date d'inscription dimanche 26 février 2006 Statut Membre Dernière intervention 20 août 2006 - 29 juil. 2006 à 15:18
cs_Nichiren Messages postés 6 Date d'inscription dimanche 26 février 2006 Statut Membre Dernière intervention 20 août 2006 - 31 juil. 2006 à 18:01
Bonjour,

je debute en c#, et pour un projet, je dois realiser une sorte de gallerie d'image en winform, et afficher au clic de celle ci, des informations diverses dans des labels par exemples.

En gros ca donnerai ceci :

[ image 01 ]  [ image 02 ]  [ image 03 ]  [ image 04 ]     | texte 1 : xxxx     | 
[ image 05 ]  [ image 06 ]  [ image 07 ]  [ image 08 ]     | texte 2 : xxxx     |
[ image 09 ]  [ image 10 ]  [ image 11 ]  [ image 12 ]     | texte 3 : xxxx     |
[ image 13 ]  [ image 14 ]  [ image 15 ]  [ image 16 ]     | texte 4 : xxxx     | 

Donc, je pensais utiliser une base de donnee access (je connais mieu que sql :/) .

Mais etant un peu habituer au maniement d'access en asp, je pensais que ca serait la meme chose en C#, hors c'est pas le cas, et je suis completement paume

De plus, ca fait 2 jours que j'essaie de trouver des exemples tout bete pour au minimum lister, et creer dynamiquement des controles picturebox, mais sans resultat ! (je trouve qu'il y a tres peu d'explication sur le fonctionnement des bases de donnee en c# :/)

Si quelqu'un a une idee, un exemple, une bonne doc. ou autres, je suis preneur !
Merci

4 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
29 juil. 2006 à 17:00
Salut

Mais etant un peu habituer au maniement d'access en asp, je pensais que ca serait la meme chose en C#, hors c'est pas le cas, et je suis completement paume

Qu'entends tu par la ?
Qu'est ce qui te rebutes, ou qui te poses probleme ?

Quelle piste as tu suivi ?

Si tu as fais de l'asp, j'imagine que tu es habitué a ADO, et ses recordset, etc.
Voici une procédure simple pour se connecter a une base access et naviguer dans les données en mode connecté, via ADO.Net.

Il te faut un Objet de connexion. Dans ton cas, tu peux utiliser un OdbcConnection,
Un objet Command, OdbcCommand pour toi. C'est cet objet qui executera la requete
Un Objet DataReader, OdbcDataReader pour toi. Il t'aidera a lire et naviguer dans le resultat de la requete.

Voici un snippet simple qui te presente comment s'enchaine le tout:

<hr />
// Instanciation de la connexion
OdbcConnection connection = new OdbcConnection(taChaineDeConnexion);
try
{
   connection.Open(); /: Ouverture de la connexion
   OdbcCommand cmd = new OdbcCommand("Ta requete", connection); // Creation de l'objet command
   OdbcDataReader reader = cmd.ExecuteReader(); // Execution de la requete
   while(reader.Read()) // Lecture du jeu d'enregistrement retourné par la requete, ligne par ligne
   {   
         string valeurChamp1 = reader["Champ1"].ToString(); // Lecture du champ 1
         string valeurChamp2 = reader["Champ2"].ToString(); // Lecture du champ 2
         // etc.
   }
   // Autres instructions...
   // ...
}
catch(OdbcException oe)
{
   // Gestion des exceptions.
}
finally
{
   connection.Dispose();
   connection = null;
}

<hr />

Voila
J'espere que ca peut t'aider.
N'hésite pas a poser plus de questions

Mx
MVP C# 
3
cs_Nichiren Messages postés 6 Date d'inscription dimanche 26 février 2006 Statut Membre Dernière intervention 20 août 2006
29 juil. 2006 à 17:45
Merci pour votre réponse !

La piste que j'avais suivi, c'était une connection en Oledb (seule doc trouvée pour se connecter, et lister un champ).

En testant votre soucre, donc en Odbc, étrangement, j'ai une erreure sur ma chaine de connection (il trouve pas le driver), mais en utilisant la meme chose en OleDb, ça passe déjà mieu ^^

J'étais un peu perdu, car pour la boucle par exemple, je cherchais trop quelquechose du genre "eof", alors que le "read" est tellement plus clair ! ^^

Donc pour lister, et afficher je suis presque sauvé !

Pour la suite, à votre avis, pour construire une gallerie d'image, il est plus judicieux d'utiliser la base de donnée, et creer une picture box tant qu'il y a des enregistrement, ou essayer d'utiliser une listview en construisant sa collection d'image ?
(en sachant que par la suite, des ajouts doivent être gérés, autant en texte, que en image, d'ou mon choix de base de donnee)

Merci pour votre Aide en tout cas
0
gcorbineau Messages postés 143 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 octobre 2006
31 juil. 2006 à 09:08
Cela va dépendre de ton besoin. Mais je pense que se sera plus simple avec une PictureBox.
0
cs_Nichiren Messages postés 6 Date d'inscription dimanche 26 février 2006 Statut Membre Dernière intervention 20 août 2006
31 juil. 2006 à 18:01
Oui c'est sur quoi je suis partis, la partie listing est fonctionnelle, les test unitaires sont ok, a partir de ce soir / demain, il me restera à voir si a partir d'un certain nombre d'image, mes pictureBox sortirons de mon groupeBox, ou bien non (j'ai utiliser la propriete location pour les positionner).

Sinon faudrait que je me prenne la tête pour trouver un algo pour bien les ranger ouin (que j'aime pas l'algo ^^).

Et la derniere phase, que je geres les ajouts de donnée dans ma base, et image dans mon repertoire (je vais bien galerer la dessus je pense aussi ^^)

Merci 
0
Rejoignez-nous