Le_Martien
Messages postés12Date d'inscriptionvendredi 3 septembre 2004StatutMembreDernière intervention25 novembre 2007
-
4 nov. 2006 à 14:25
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 2014
-
8 nov. 2006 à 15:51
Bonjour a tous et a toutes.
Il y a quelques temps, j’a crée une petite application en vb6 te je suis en train de la refaire en vb 2005 mais je n’arrive pas a faire tourner ce petit bout de code :
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Private Sub Enring_Click()
Dim cnn As New ADODB.Connection
Dim cnn1 As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
cnn1.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Le_Martien\Mes documents\Tfe\Tfe.mdb;Persist Security Info=False")
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 4 nov. 2006 à 14:37
Déjà commence par remplacer ton entete de fonction par sa version .NET :
Private Sub EnRing_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EnRing.Click
Ensuite le controle DataGrid n'existe plus en .NET, il est remplacer par le controle DataGridView.
Certaines propriétés et méthodes change, il te faut donc reprendre le code.
Ensuite as-tu ajouter la référence ADO à ton projet ? sinon adodb ne sera pas reconnu.
PS : Tu as toujours la possibilité d'ajouter l'ancient composant DataGrid de VB6, mais tu perds les avantages que peux apporter .NET.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 4 nov. 2006 à 16:12
Voici un petit exemple d'utilisation en VB.Net pour lire les données, attention ici j'utilise un DataReader, avec un DataSet c'est assez différent. Sinon tu as une autre possibilité : dans les Server Explorer tu ajoute une connection sur ta base Access puis tu l'explore et une fois sur la tabe voulue, tu fait un drag and drop de celle-ci sur ta form. là VS te créer tout seul les objets de connections et d'adaptation, il ne te reste plus qu'à faire un clic droit sur l'adaptater et de générer le DataSet ensuite dans ton code vois la partie 2 ci-dessous/
'Partie A
imports system.data
Private Sub Enring_Click()<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Dim
Conn1
As
New
OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Le_Martien\Mes documents\Tfe\Tfe.mdb;Persist Security Info=False")
Dim
SQLComm1
As
New
OleDb.OleDbCommand("Select * From toto", Conn1)
Dim
DR
As
OleDb.OleDbDataReader
Try
SQLComm1.Connection.Open()
Catch
SQLComm1.Connection.Close()
SQLComm1.Connection.Open()
End
Try
DR = SQLComm1.ExecuteReader
Do
Until
DR.ReadMessageBox.Show(DR.GetString(0))
Loop
End Sub
'Partie B
Dim DS0 as new DataSet1
oledbdataadapter1.fill(ds0) 'Là ton DS0 est remplis tu peux éxactement l'utiliser comme ton RS
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 5 nov. 2006 à 13:44
Pardon de venir mettre le bordel mais justement le .Net est là pour éviter d'importer API & companie, pleins d'outils sont dispo avec le .Net Framework, sinon autant rester en VB6 et continuer de surcharger les softs ;)
Le_Martien
Messages postés12Date d'inscriptionvendredi 3 septembre 2004StatutMembreDernière intervention25 novembre 2007 6 nov. 2006 à 12:08
Chris, merci pourtaréponsemais je crois que tu m'as mal compris.
Dans mon soft, je ne veux pas lire les données de la base de donnnées mais écrire les donnees de mon datagrid dans la base de données.
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 6 nov. 2006 à 12:40
Ok, alors faisons simple ;)
Ajoute ta base à l'explorateur de serveur (Server explorer) puis fait un drag/drop de la table voulue sur ta form
ensuite fait un clic droit sur le oledbdataadapter1 et choisi : générer le dataset (generate dataset)
puis dans ton code :
pour charger ta base :
dim DS0 as new dataset1
OLEDBdataadapter1.fill(DS0) 'Charge la base
Pour valider les altération de la base :
oledbdataadapter1.update(ds0) 'Met à jour (ajout, suppression, modification)
Pour modifier tes datas rien de plus simple, tu repère l'index de la ligne à modifier, ensuite tu modifi les donnée comme ceci :
où ds0 est le dataset selon l'objet dataset
où tables(0) est la table correspondante 0 est l'index de la table ou alors dans l'exemple 2 tu peux noter directement le nom de la table
où i est l'index de la ligne à ajuster
et TrucMuche est le nom de la colonne à modifier
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 8 nov. 2006 à 15:51
Et bien, je vois que soit il n'y a pas d'aquis soit il n'y en a jamais eu, le framework étant charger au moment du chargement de l'O.S. si l'on appel ça référence ce n'st pas pour rien sinon on appelerais cela API ou DLL (au choix).
Vu que le framework est lancer, on fait référence à une partie du framework, le framework passant à 70% outre le kernel, kernel qui lui gère les API