Comme beaucoup d'entre vous je passe doucement à VB .NET et également comme beaucoup d'entre vous je galere car beaucoup de choses ont changé :-(.
Cette source est destinée à vous montrer comment accéder via ODBC à une base de donnée autre que SQL-SERVER et ACCESS. Il n'y a aucune prétention, je ne suis pas un crack du VB.
En tout premier lieu, il faut savoir que la version 1.0 du framework ne permet d'acceder qu'a des bases SQL-SERVER et ACCESS (Oracle aussi ?) via ODBC et qu'il faut télécharger la version 1.1 sur
http://msdn.microsoft.com/downloads
Une fois téléchargé et installé on se plonge dans le code. Attention ici je me connecte à une base MYSQL sur un serveur linux.
Source / Exemple :
Public Sub ConnectToOdbc()
'Déclaration de la connexion :
'j'ai pas encore trouvé la soluce pour eviter de taper "System.Data.Odbc." à chaque fois, pourtant la réference est bien ajouté au projet, pardon, à la solution ;-)
Dim myConnection As New System.Data.Odbc.OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};SERVER=serveur_linux;DATABASE=nom_base;USER=seb;PASSWORD=;OPTION=3")
'la chaine de connexion provient du site mysql.com
'l'objet commande qui va chercher les données. VB se prend pour ASP...
Dim myCommand As New System.Data.Odbc.OdbcCommand("Select * from famille", myConnection)
'et on y va :
Try
'ouverture de la connexion
myCommand.Connection.Open()
MessageBox.Show("Connexion ok!")
'on déclare un recordse....pardon un "datareader" pour stocker les données
Dim myReader As System.Data.Odbc.OdbcDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
'Et on le parcours. Il va me manquer le "movenext"
While myReader.Read()
'je mets le résultat dans un listview1 juste pour stocker rapidement
ListView1.Items.Add(myReader.GetString(1))
End While
'la gestion d'erreur qui me fait penser au java...
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
'et on ferme
myReader.Close()
myConnection.Close()
End Try
End Sub
Conclusion :
Voilà un chtit code pour sortir des données. Maintenant plus qu'a inserer, supprimer, mettre à jour... En avant la galere !!!!
Bonne prog à tous.
5 avril 2010 à 12:23
Avertissement 1 L'espace de noms ou le type spécifié dans les Imports 'MySql.Data.MySqlClien' ne contient aucun membre public ou est introuvable. Vérifiez que l'espace de noms ou le type est défini et qu'il contient au moins un membre public. Vérifiez que le nom de l'élément importé n'utilise pas d'autres alias.
Erreur 2 Type 'MySqlConnection' non défini.
Erreur 3 Type 'MySqlCommand' non défini.
Erreur 4 Type 'MySqlDataReader' non défini.
qui peut m'aider.
10 mars 2009 à 16:09
10 mars 2009 à 15:40
3 déc. 2006 à 16:59
Pour ton soucis, le "try/catch" c'est très bien, mais le mieux, c'est la gestion des "accès concurentiels aux données" : en résumé ton dataAdapter est capable de voir si les données ont changés depuis ton select et de t'en avertir. Pour plus d'infos : google (ou un tuto dès que j'ai 5min).
Ou alors du "lock" tes enregistrements avec un flag que tu positionnes à 1 ou 0 selon le cas.
Seb.
3 déc. 2006 à 07:29
Ca va effectivement se gauffrer. Mais tu peux gérer les erreurs grace à une directive try/catch.
Après, c'est à ton programme de gérer les problème de conflt de mise à jour.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.