dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 2015
-
9 août 2009 à 19:57
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 2020
-
26 sept. 2009 à 11:33
je cherche qq'un qui puisse m'expliquer de maniere pedagogue la facon de communiquer entre ma base de donnée et l'interface que j'ai developpé
Mon projet est pas mal avancé, mais je cale sur l'utilisation d'ado.net
J'ai bien consulter les tutos, mais au moment de le mettre en pratique dans mon code ca ne marche pas.
Alors help!
Merci d'avance
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 11 août 2009 à 20:28
j'ai qq peu changer mon code
là c'est mon code dans ma classe connexion
Public Function msj(ByVal rep As Integer, ByVal repid As String)
Dim conec As SqlConnection = New SqlConnection(My.Settings.data_transportConnectionString)
Dim cmd As SqlCommand = conec.CreateCommand
cmd.CommandType " UPDATE t_transporteur SET surtaxe_fuel VALUES " & rep & " where nom_transporteur '" & repid & "' "
Try
conec.Open()
cmd.ExecuteNonQuery()
If cmd.ExecuteNonQuery() = 0 Then
Return MsgBox("La mise à jour n'a pas été effectuée", MsgBoxStyle.Critical, "Erreur")
Else
Return MsgBox("La mise à jour été effectueé", MsgBoxStyle.Information, "Information")
End If
con.Close()
con.Dispose()
Catch err As Exception
Return MsgBox("Attention la connexion a votre base de donnée a echouée,veuillez verifier l'accès a celle ci et réessayer. Merci", MsgBoxStyle.Critical, "Message d'erreur")
con.Close()
con.Dispose()
End Try
End Function
là c'est mon code coté interface
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim strcon As String = My.Settings.data_transportConnectionString
Dim rep As Integer = CStr(Surtaxe_fuelTextBox.Text)
Dim repid As String = Nom_transporteurComboBox.Text
Dim con As connecxion = New connecxion(strcon)
con.msj(rep, repid)
End Sub
et là le resultat lors de l'execution de mon prog
La conversion de la chaîne " UPDATE t_transporteur SET surta" en type 'Integer' n'est pas valide.
Je n'ai pas reussi a resoudre le probleme d'instancition de connexion de l'autre version.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 12 août 2009 à 08:25
Salut,
Pourquoi tu veux convertir la chaîne en intéger ?
Dim rep As Integer = CStr(Surtaxe_fuelTextBox.Text)
Doit resté :
Dim rep As String = Surtaxe_fuelTextBox.Text
En suite remplace :
Public Function msj(ByVal rep As String, ByVal repid As String)
Et :
cmd. CommandText " UPDATE t_transporteur SET surtaxe_fuel VALUES (" & rep & ") where (nom_transporteur '" & repid & "')"
C'est tout.
La propriété CommandText du SqlCommand est sous forme de string, placer un integer dans une chaine ne sert a rien, il sera pris en compte comme faisant partie de cette chaîne.
Tu t'es trompé sur CommandType, était-ce intentionnel ?
CommandType est une énumération,
En gros il n'est pas recommandé de donner à une énumération en vb une autre valeur que celle proposé par le signe égal, toutes fois si tu souhaite le faire, il faut que cette valeur soit purement numérique.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 12 août 2009 à 11:33
Bonjour,
merci pour ta reponse, par contre je retombe toujours sur mon probleme d'initialisation de ma connexion.
J'avais modifié ma valeur string en valeur numerique car j'ai pensé que la valeur a mettre ajour dans ma base de donnée est une valeur numerique, je me suis posé la question de savoir si ca n'etait pas a cause de cela que la mise a jour ne se faisait pas.
Apparemment pas.
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 12 août 2009 à 12:32
en fait si je mets le point d'arret sur con.open() le debugger en mode pas a pas passe directement a catch error, si maintenant je place le point d'arret sur cmd.executenonquery alors en mode pas a pas tu passe a catch error mais avec le message d'erreur suivant: la valeurs pres de "values" pose un probleme de syntaxe; c'est ce qui m'a mis sur la voie
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 12 août 2009 à 13:39
pas de probleme tu n'as pas a t'excuser,ca m'a permis de chercher
T'en a déja beaucoup fait, j'ai beaucoup avancé grace a ton aide
Je continue de developper ce qu'il y a autour et j'aurai surement besoin de ton aide pour le travail avec des dataset, enfin si tu le veux bien
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 12 août 2009 à 13:57
Là c'est du vb cassique, mais comment ferais tu pour executer la procedure suivante
Private Sub Surtaxe_fuelTextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Surtaxe_fuelTextBox.TextChanged
If Surtaxe_fuelTextBox_TextChanged(là il faut que je recupere la valeur events arg) Then
Button3.Enabled = True
Button3.Focus()
else
Button3.Enabled = False
End If
End Sub
le but, rendre le bouton3 enable si le champs text a connu une modification.
peut etre est ce le b.a.-ba de la programmation mais je n'y arrive pas, te moque pas
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 12 août 2009 à 15:13
L'évément textChanged indique que le texte a forcément changé.
Pour la récup, 2 méthodes:
Tu n'as qu' un seul handle sur la procédure :
Private Sub Surtaxe_fuelTextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Surtaxe_fuelTextBox.TextChanged
Dim Nouvelle_valeur As String = Surtaxe_fuelTextBox.Text
End Sub
Tu as plusieurs Handles:
Private Sub MesTextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Textbox1.TextChanged, Textbox2.TextChanged
Dim Tb As TextBox = sender
Dim Nouvelle_valeur As String = Tb.Text
End Sub
wala...
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 25 sept. 2009 à 19:41
Slt Mayzz
je souhaiterai te solliciter encore une fois
voila je travaillais sur mon prog, windows a planter comme d'hab, je relance mon pc j'ouvre mon prog et la j'ai une erreur reccurente:
Erreur 1 L'élément "obj\Debug\Transporteur.transport.resources" a été spécifié plus d'une fois dans le paramètre "Resources". Les éléments dupliqués ne sont pas pris en charge par le paramètre "Resources". Transporteur
apparamment il a du y avoir une copie d'un fichier qq part
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 25 sept. 2009 à 21:49
Tu as essayer de supprimer les répertoires BIN et Obj, puis de réouvrir ton projet et de le recompiler ?
Un petit conseil, si tu as des plantages de Windows avec perte de données, tu as peut être un sousci de disque dur, pense à sauvegarder ton projet sur un autre support, et lance un test sur ton disque système.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 25 sept. 2009 à 22:30
Slt
et merci pour ta reponse ravi de te retrouver
j'ai effacer les fichiers et j'ai recompiler ,mais apparamment un fichier a ete renomer et le fait de modifier le nom a creer le pb
reste 2,3 petites chose a recoriger et go
je fais comme t'as dis une sauvegarde sur un autre support
merci
dartagnan43
Messages postés45Date d'inscriptionsamedi 31 mai 2008StatutMembreDernière intervention26 février 20152 26 sept. 2009 à 07:32
oui je bosse toujours dessus mais j'ai pas tes competences.Alors ca traine en longueur, en plus je vais tout le recoder de A a Z parceque mm si je l'ai recuperer il a qd mm du mal.
Ca me permettra de reviser!!!
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 26 sept. 2009 à 11:33
Ah ca les pertes de données c'est vraiment la misère ! Si t'as les moyens je te conseille une solution RAID ou même un simple disque dur externe, avec un soft de synchronisation. Même si t'es pas pro, ca fait toujours chier de perdre des projets personnels sur lequel on a passer 6 mois ! Je parle en connaissance de cause...
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.