Essayez la version mysql connector 8.0.32
Essayez la version mysql connector 8.0.32
Bonsoir,
J'espère avoir du temps demain après-midi pour y réfléchir ...
Mais comment est-il possible que le même VS, sur le même PC, puisse passer en 4.8 sur un projet et ne le puisse pas sur un autre ?
Comment aussi se fait-il que tes dossiers Debug et Release se trouvent dans un sous dossier Net6.0-Windows ?
Je suis enclin à penser que ton projet a été "pollué" ...
Il y a quelques temps tu as posté une question "remplir un combobox à partir de ma base de données", ton accès MySql fonctionnait-il à cette époque ? Si oui, que s'est-il passé depuis ?
Si tu pouvais nous mettre sur la voie ...
A défaut de solution facile, n'est-il pas envisageable que tu recommences ton application dans un nouveau projet déclaré en 4.8 dès le départ (il est possible de spécifier le FrameWork au début, au moment où on donne un nom au projet) ? Tu pourrais aussi recommencer l'application "sur" mon projet, en pratiquant des copier-coller des composants de ton Form sur mon Form et des copier-coller de ton code à la place (ou à côté) du mien.
Je peux essayer de corriger ton projet. il faudrait pour cela que tu me l'envoies comme je t'ai envoyé mon projet de test (tout le dossier du projet compressé dans un zip).
Pour ce soir, je passe en mode "repos" ...
ok je vais voir une autre solution
Merci infiniment
C'est ce que je n'arrive pas à le comprendre
J'ai installé visual studio 2012 et j'ai créé un nouveau projet contenant les memes codes en faissant des copier coller et ça marche très bien. Mon code est compilé sans aucun erreur . Le combobox est bien rempli. Lprojet est basé sur le framework .net 4.5. Mais maintenet je suis obligée de travailler avec visual studio 2022. Par la suite je veux trouver une solution soit d'installer la version .net 4.8, soit d'ajouter un mysql.data.dll compatible avec .net 6.0 parce que en créant un nouveau projet je n'ai pas le choix. J'ai seulement .net 6.0. Y'ai t-il une méthode d'ajouter un framewrk qui n'existe pas dans le framework cible d'un projet déjà créé
Je suis vraiment désolée
Je l'enverrai demain parce que ne possède pas l'ordinateur maintenant
Bonjour,
Je fouille un peu ce matin ...
Vois cette vidéo (lien Dropbox car fichier trop gros pour le forum) qui montre comment ajouter le FrameWork 4.8 à ton système si tu le souhaites :
https://www.dropbox.com/s/y1z5qhelfp...DLL48.mp4?dl=0
Ce serait peut-être bien de tester cela chez toi car si c'est le seul problème restant, ton projet fonctionnera directement chez moi et je ne saurai rien corriger, le problème étant alors une configuration de VS2022 et non du projet.
...
Bonjour,
Vous trouvez ci joint une petite partie de mon projet pour avoir une idée et m'aider à savoir la source d'erreur
stocktest2.rar
Pas de problème. Je charge ton projet mais je ne suis pas sûr d'avoir le temps de l'examiner avant 13h.
Je vais quand même regarder si je peux le compiler.
Bonjour
J'ai essayé d'installer le framework .net 4.7 parceque je n'ai pas pu installé le .net 4.8.
Mais malheureusement le .net 4.7 n'apparait pas encore dans la liste des framework cible de mon projet malgré qu'il est bien installé
Bonjour,
tu fais un click droit sur dépendances dans l'explorateur d'objets et tu choisi gérer le packages NuGet!
Bonjour,
J'ai essayé de remplacer "net6.0-windows" par "net4.7-windows". La liste des framework cible est modifiée (comme il est indiqué dans les images ci-dessous.
Mais je n'ai plus accès à mes form [design]. Je ne peux rien modifier. (comme il est indiqué dans l'image ci-dessous.
J'ai été donc obligée de revenir au "net6.0-windows" et utiliser la méthode "Thumb down" citée ci dessous. Mais ce message apparait malgré que le login et le mot de passe sont corrects "Merci de vérifier votre login et mot de passe."
Y'a t'il une solution SVP permettant d'ajouter le framework .net 4.7 sans perdre les données de mon projet. Je crois que la solution idéale est de trouver le fichier mysql.data.dll compatible avec le .net 6.0
merci d'avance
Voici le projet stocktest2 que tu m'as envoyé, débarrassé des NuGet, AddOn, et autres vitamines qui ne lui profitaient guère : stocktest2.zip
Tel quel, il fonctionne (cf. la video Stock48.zip) sous VS2022 avec le FrameWork 4.8.
Voici l'illustration de la DB MySql :
Maintenant, je m'attaque à faire tourner ça sous FrameWork 6.0.
@Phil Rob @Marie_7 il y a 2 types de .NET, soit les .NET Framework, soit les .NET (Core), pas compatible entre eux et donc pas possible de passer de l'un à l'autre via le réglage de la cible; le choix se fait à la création du projet (les templates avec mention de Framework utilise .NET Framework, les autres avec .NET (Core))
donc .NET Framework 4.8.x est le dernier des .NET Framework, et .NET 7 est la dernière version de la gamme .NET (la gamme .NET Framework tend à être abandonné au profit de .NET)
.NET est cross platform contrairement à .NET Framework.
Pour MySQL, le nuget que l'on a mentionné est compatible pour les 2 structures.
@Marie_7 dans le code que tu as reproposé, tu utilises encore password dans la chaine de connexion à la base ... (à moins d'une erreur de copier-coller)
Si il y a un message d'erreur, donne le nous en entier dans la mesure du possible, les messages d'erreurs contenant de précieuses infos sur la raison de leur survenu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Imports MySql.Data.MySqlClient Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim connStr As String = "SERVER=localhost; uid=root; DATABASE=stock; PWD=;" Dim conn As New MySqlConnection(connStr) If TextBox1.Text = "" Or TextBox2.Text = "" Then MsgBox("Merci de saisir votre login et mot de passe", vbQuestion) Exit Sub End If Try conn.Open() Dim Sql = "SELECT * FROM users WHERE login='" & TextBox1.Text & "' and password='" & TextBox2.Text & " '" Dim cmd = New MySqlCommand(Sql, conn) Dim dr = cmd.ExecuteReader dr.Read() If dr.HasRows = 0 Then MsgBox("Merci de vérifier votre login et mot de passe.", vbQuestion) Else Me.Hide() Form2.Show() End If Catch ex As MySqlException MessageBox.Show(ex.Message) End Try End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click TextBox1.Clear() TextBox2.Clear() End Sub Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged If CheckBox1.Checked = True Then TextBox2.PasswordChar = "" Else TextBox2.PasswordChar = "*" End If End Sub End Class
Edit: je viens aussi de remarqué un truc tellement évident: tu fais une requête sans que les paramètres soient remplis: tu fais le test sur le nom d'utilisateur/mot de passe dans les textbox après avoir la requête censée utiliser leur valeur=> souci (j'ai corrigé le code suite à cet édit)
@tous ...
Je prends bonne note de la différence entre .NET Framework et .NET (Core) mais il y juste une chose que je ne comprends pas : pourquoi se donner tant de mal à faire tourner ce code sous une version qui impose des complications côté MySql alors que la version FrameWork 4.6 permet l'utilisation directe (à condition de désigner la DLL MySqlData) de la DB ?
Je vais m'intéresser au .Net (Core), jusqu'à présent je n'en trouve pas trace sur mon PC. Je commence par une mise à jopur de mon VS022.
...
Un projet .NET 6.0 avec le code similaire à celui de Mary_7; par contre pas pu tester, je ne me suis pas installé de MySQL pour ça.
Normalement, il devrait installer le package Nuget MySqlQL.Data au chargement.
WinFormsApp5.zip
@umfred
J'ai WampServer en fonction avec la DB de Marie7. Je teste ton projet dès que j'en aurai, terminé avec l'installation de VS2022 17.4.
C'est la galère ... Faut dire que j'utilise là un PC de 2007 avec 4 Go Ram, ça rame
J'en attends un tout nouveau dans quelques jours ...
Bonjour,
Les choses ont changé sur mon PC après la laborieuse mise à jour du VS2022 17.1.3 vers 17.4.4.
Le programme de Umfred fonctionne très bien.
Le programme de Marie7 ne fonctionne pas, il ne voit pas la librairie MySql, les types ne sont pas reconnus.
Il me donnait seulement une erreur sur l'Open, mais ma DLL MySqlData était toujours en place dans "Debug", or elle n'est évidemment pas présente dans ll projet de Umfred. J'ai enlevé cette dll du dossier "Debug". Dans net6.0-Windows, j'ai remplacé cette dll par celle (du 6/12/2022) trouvée chez Umfred.
Le problème ne vient pas de la dll mais plutôt de la visibilité de ce dossier net6.0-Windows. Je en sais pas comment le projet de Umfred a produit ce dossier lors de la compilation alors que manifestement, celui de Marie7 ne le fait pas.
Bien sûr, je peux ramener les Forms, avec leurs composants et leurs codes du projet de Marie7 sur le projet de Umfred, et ensuite renommer le projet en stocktest2. On aura probablement un stocktest2 qui compile et fonctionne. Mais le problème de Marie7 réapparaitra dès son prochain nouveau projet. Il manque une information sur le comment bien mettre en place la package. Là, je n'ai pas l'expérience de ces opérations, je vais chercher mais si Umbfred a un "tuyau" ...
Voici la solution de Umfred suivie de celle de Marie7.
Ok, je l'ai eu ...
Malgré la mise à jour de VS2022, l'ouverture d'un projet "ancien", comme stocktest2 de Marie7, ou sa version débarrassée par moi des NuGet, ne donne aucune possibilité de passer en version .Net 6.0.
Pour y arriver, j'ai recréé un projet et y ait replacé les Forms et codes de Marie7. J'ai nommé ce projet stocktest2Net6.
Le voici le lien pour le charger : https://www.dropbox.com/s/ok2ur09ew6...2Net6.zip?dl=0
Le résultat ne vient pas des codes de ce projet mais de la manière de le mettre en place.
A le demande du type de projet, il faut choisir Application de type WinForm pour .Net.
A la page suivante, le type de .Net est demandé : Net 6.0 est très bien.
Ensuite, dans l'explorateur de solution, il est possible de lancer le gestionnaire de NuGet par le menu contextuel. Là, j'ai choisi MySqlData (de chez MySql) et je l'ai installé.
Le temps que mon vieux PC réfléchisse un peu, tous les types MySql ont été reconnus et la compilation s'est faite sans erreur, l'application fonctionne.
Je crois que le détail à ne pas rater chez Marie7 réside dans le début du projet. Je crois qu'il vaut mieux recommencer son projet que d'essayer de corriger l'actuel.
Le copier-coller des fichiers Form*.* des dossiers projets actuels vers les nouveaux est une bonne méthode pour se faciliter le tâche. Il faut le faire avant de commencer le moindre travail sur le Form1 proposé dans "Solution" à l'ouverture du nouveau projet.
...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager