manik971
Messages postés30Date d'inscriptionmardi 27 avril 2010StatutMembreDernière intervention12 juillet 2020
-
6 mai 2008 à 14:15
manik971
Messages postés30Date d'inscriptionmardi 27 avril 2010StatutMembreDernière intervention12 juillet 2020
-
9 mai 2008 à 10:33
Bonjour à tous,
Mon script est en vb.net, il va récupérer des informations sur des centaines de machines, puis il les insert dans une BD mysql si il y a eut un changement depuis le dernier lancement.
Pour chaque machines je lis la dernière entrée et je la compare a ce que je veux entrer dans la BD et si c'est différent j'insert.
*** fonction qui récupère la valeur retournée par un select :
'Chaîne de connexion
Dim paramConnect As String = "database= '" & base & "';server='" & server & "';User ID='" & user & "';pwd='" & pass & "'"
'Objet connection
Dim connection As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection(paramConnect)
'Ouverture connection
connection.Open()
'Lien entre la base et la requête1
Dim MyAdapter1 As MySql.Data.MySqlClient.MySqlDataAdapter = New MySql.Data.MySqlClient.MySqlDataAdapter
MyAdapter1.SelectCommand = New MySql.Data.MySqlClient.MySqlCommand(requete, connection)
Dim S1 As MySql.Data.MySqlClient.MySqlDataReader
S1 = MyAdapter1.SelectCommand.ExecuteReader
S1.Read()
recupSelect = S1.GetString(0)
'Fermetures
connection.Close()
connection = Nothing
S1.Close()
S1 = Nothing
*** fonction qui insert dans la BD :
Dim Result As New ArrayList()
'Chaîne de connexion
Dim paramConnect As String = "database='" & base & "';server='" & server & "';User ID='" & user & "';pwd='" & pass & "'"
'Objet connection
Dim connect As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection(paramConnect)
'normalement la requete est passée en paramètre dans la fonction
Dim requete as string = "SELECT COUNT(id_M) FROM machine"
Dim SelectCommand = New MySql.Data.MySqlClient.MySqlCommand(requete, connect)
'Ouverture connection
SelectCommand.connection = connect
Try
connect.Open()
SelectCommand.ExecuteNonQuery()
'Fermetures
connect.Close()
connect = Nothing
SelectCommand = Nothing
manik971
Messages postés30Date d'inscriptionmardi 27 avril 2010StatutMembreDernière intervention12 juillet 2020 7 mai 2008 à 11:06
j'ai fait ce que tu as dit, je fais une connection globale au debut de mon programme, pour la fonction qui récupère le select ça marche sans problème mais pour la fonction qui insert ça marche pas, je suis obligé de fermer la connexion puis de la réouvrir pour que ca fonctionne :
Public Function envoiRequete(ByVal requete As String, ByVal connection As MySql.Data.MySqlClient.MySqlConnection) As Boolean
Try
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand
With cmd
.CommandText = requete
.CommandType = CommandType.Text
.Connection = connection
End With
connection.Close()
connection.Open()
'si je ne ferme pas puis réouvre la connexion ça plante ici
cmd.ExecuteNonQuery()