Se connecter / S'enregistrer

Résolu C# creer session avec des forms

Solutions (5)
Tags :
  • Mot de passe
  • Creation
  • Programme
  • Programmation
, Maître Yoda |
bonjour a tous.
j'ai un petit soucis dans la creation de mon projet.
je doit realisé un programme pour automatisé un garage.

je voudrai creer une session avec des forms.
pour cela je suis partis dans le sens de recupération de l'identifiant et du mot de passe dans un fichier texte.

j'ai une form connexion

voici le code du boutton ( ce code fonction bien mais je n'arrive pas a faire un saut de ligne dans le fichier txt) j'arrive a me connecté a ma base de donnée MySQL avec phpmyadmin

  1. private void Valider_Click(object sender, EventArgs e)
  2. {
  3.  
  4. // creation et ecrite ficher txt
  5. FileStream fs = File.Create(@"C:\identifiant.txt");
  6.  
  7. fs.Close();
  8. File.WriteAllText(@"C:\identifiant.txt", "" + Identifiant.Text + " " + Password.Text + "", Encoding.Unicode);
  9.  
  10.  
  11.  
  12. string ConnnectionStr = String.Empty;
  13.  
  14. if ((Identifiant.Text.Length == 0))
  15. {
  16. MessageBox.Show("Erreur, Login ou Mot de passe incorrect", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
  17. Connection.Close();
  18. }
  19. else
  20. {
  21. // On définit la chaine de connexion
  22. ConnnectionStr = "Database=xxx;Data Source=xxxx;User Id=" + Identifiant.Text + ";Password=" + Password.Text;
  23.  
  24. }
  25.  
  26. Connection.ConnectionString = ConnnectionStr;
  27.  
  28. try
  29. {
  30. // On ouvre la connexion
  31. Connection.Open();
  32. this.Close();
  33.  
  34. }
  35. catch (MySqlException Ex)
  36. {
  37. MessageBox.Show("Erreur SQL:\n" + Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
  38. }
  39.  
  40.  
  41. }



ensuite dans une autre form je dois me connecter a ma base de donnée pour creer une fiche client sans remettre mon identifiant et mon mot de passe. c'est là que je coince.
je n'arrive pas a récupérer les informations de mon fichier txt . Quelqu'un aurai t'il une solution et me dire si je suis dans la bonne voie ! et si non quelle voie je dois suivre

voici le code de mon autre form





  1. private void Valider_Click(object sender, EventArgs e)
  2. {
  3. string connStr = "server=xxx; user id=xxx; password=xxx; database=xxx";
  4. MySql.Data.MySqlClient.MySqlConnection Connection = new MySql.Data.MySqlClient.MySqlConnection(connStr);
  5.  
  6. try
  7. {
  8. // On ouvre la connexion
  9. Connection.Open();
  10.  
  11.  
  12. }
  13. catch (MySqlException Ex)
  14. {
  15. MessageBox.Show("Erreur SQL:\n" + Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
  16. }
  17.  
  18.  
  19. try
  20. {
  21. string mySqlQuery = "INSERT INTO client ( Nom, Prenom,Adresse ) VALUES ('" + Nom.Text + "','" + Prenom.Text + "','" + Adresse.Text + "') ";
  22. MySql.Data.MySqlClient.MySqlCommand sqlCmd = new MySql.Data.MySqlClient.MySqlCommand(mySqlQuery, Connection);
  23. sqlCmd.ExecuteNonQuery();
  24.  
  25.  
  26. }
  27. catch (MySqlException Ex)
  28. {
  29.  
  30. MessageBox.Show("Erreur SQL:\n" + Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
  31. }


.
.
.
.
.

en resumé je voudrai récupérer l'identifiant et mon mot de passe du fichier txt pour resté connecté de form en form jusqu'a la déconnection
Contenus similaires
Meilleure solution
partage
, Modérateur |
Salut,

Euh je n'ai rien sous la main là, faut faire quelques recherches avec ton moteur de recherche préféré.
Pour les connection strings, tu fais une recherche sur "c#connection strings config" et tu devrais trouver ton bonheur.

Et pour un fichier à part, je voulais bien évidemment dire une classe.
Tu aurais une classe qui ferait toutes les liaisons avec la base de données:
  1. public static class MyConnection
  2. {
  3. public static DbConnection GetConnection()
  4. {
  5. // ici tu récupères ta connection string en utilisant ce que tu as trouvé avec ta recherche
  6. // tu initialise ta connexion MySQL
  7. DbConnection connection = new ...();
  8. // tu l'ouvres
  9. connection.Open();
  10. // et tu la retournes
  11. return connection;
  12. }
  13.  
  14. public static void ExecuteNonQuery(string commandText)
  15. {
  16. // récupère la connection
  17. using (var conn = GetConnection())
  18. {
  19. // créé une commande à partir de cette connection
  20. using (var cmd = conn.CreateCommand())
  21. {
  22. // spécifie la variable CommandText à exécuter et exécute la requête
  23. cmd.CommandText = commandText;
  24. cmd.ExecuteNonQuery();
  25. }
  26. }
  27. }
  28.  
  29. // etc.. tu peux te faire une méthode pour faire un ExecuteScalar, ExecuteDataReader ou tout ce dont tu as besoin en reprenant le même schéma que ça.
  30. }


Et à chaque fois que tu veux exécuter une requête, tu fais:
  1. MyConnection.ExecuteNonQuery("INSERT INTO...");


C'est une technique parmi beaucoup d'autres...

Edit: à noter que je n'ai pas testé le code, donc il peut y avoir des soucis, j'ai fait ça de tête
  • Commenter cette solution |
Score
0
òh
òi
, Maître Yoda |
Meilleure réponse sélectionnée par pipin-link.
  • Commenter cette réponse |
Score
0
òh
òi
, Maître Yoda |
:)  oki merci de ton aide !
même si ton code n'est pas forcement correct tu ma ouvert la porte pour continué mon projet !
encor merci :) 
jvais creusé tous sa et en cas de pépin je te recontact
  • Commenter cette réponse |
Score
0
òh
òi
, Maître Yoda |
merci de m'avoir répondu!
aurai tu un exemple a me montré ou un tuto ?
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Salut,

Tu peux plutôt utiliser les connection strings dans ton fichier de config plutôt qu'un pauvre fichier txt.

Ensuite, il te faudra partager ta connexion. Tu la mets dans un fichier à part que tu appelles à chaque fois que tu as besoin d'effectuer une opération sur ta base.
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS