1 pièce(s) jointe(s)
Exécution SQL ne passe pas via l'application mais bien directement dans MySQL
Bonjour je rencontre un problème lors de l'exécution d'une requête depuis une application vb.net.
Cette requête joint deux tables de la base de données et tente de mettre à jour la table 'tarif_général ' liée à la table 'tarif_buffer'.
Cette requête passe sans problème lorsque je la lance directement dans MySql. Elle passe également depuis l'application si je diminue fortement le contenu de la table "tarif_buffer"
Je n'arrive pas a insérer l'image du message d'erreur du catch mais celle-ci parle : "Impossible de lire les données de la connexion de transport : une tentative de connexion à échoué car le parti connecté n'a pas répondu convenablement
au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu"
Est ce que vous pouvez m'aider à comprendre ce qui se passe afin de corriger le problème.
Je vous remercie de votre aide
Ci dessous le code utilisé
Pièce jointe 582402
Code:
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
| Private Sub BtnActuPrix_Click(sender As Object, e As EventArgs) Handles BtnActuPrix.Click
Dim text1 As String = "UPDATE articles INNER Join tarif_buffer ON articles.item_code = tarif_buffer.item_code SET articles.item_description = tarif_buffer.item_des, articles.achat_price = tarif_buffer.achat_price, articles.price = tarif_buffer.vente_price, articles.date_modification = NOW() WHERE articles.item_code = tarif_buffer.item_code"
Dim text2 As String = "UPDATE tarif_general INNER Join tarif_buffer ON tarif_general.item_code = tarif_buffer.item_code SET tarif_general.item_description = tarif_buffer.item_des, tarif_general.dealer_price = tarif_buffer.achat_price, tarif_general.price = tarif_buffer.vente_price WHERE tarif_general.item_code = tarif_buffer.item_code"
Try
cn.Open()
Dim mySqlCommand1 As MySqlCommand = New MySqlCommand(text1, cn)
Dim mySqlCommand2 As MySqlCommand = New MySqlCommand(text2, cn)
Dim mySqlCommand3 As MySqlCommand = New MySqlCommand("TRUNCATE TABLE tarif_buffer", cn)
' mySqlCommand1.ExecuteNonQuery()
' MsgBox("Prix des articles mis à jour sufr articles", MsgBoxStyle.OkOnly, Nothing)
mySqlCommand2.ExecuteNonQuery()
MsgBox("Prix des articles mis à jour sur tarif général", MsgBoxStyle.OkOnly, Nothing)
' mySqlCommand3.ExecuteNonQuery()
cn.Close()
Catch ex As Exception
MsgBox("error" & ex.ToString)
End Try
cn.Close()
End Sub |