begin process at 2012 02 14 03:06:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

MySQL

 > 

Erreur System.NullReferenceException


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur System.NullReferenceException

lundi 3 mars 2008 à 16:58:11 | Erreur System.NullReferenceException

CleemS

Bonjour à tous !

Je ne comprends pas pourquoi mon programme, lorsque je le compile, génère une erreur de type : "System.NullReferenceException".
Car je n'ai pas touché la ligne en question et c'est apparu d'un jour à l'autre.
Je me suis beaucoup servi d'une source de ce site, excellente au passage.^^

J'utilise une classe me permettant de me connecter à ma Base de Données (MySQL) qui s'apelle "Cl_MySQL".

Ensuite dans ma Form1, je la déclare ainsi :

Code :
 
Imports Comptabilité.Cl_MySQL
 
PublicClass Form1
 
'Créer un DataSet :
Dim Dts As DataSet
'Créer une instance de ma classe perso' pour les requêtes
Dim Db As Cl_MySQL
 
Voilà, puis une fois que le nom d'utilisateur et le mot de passe sont vérifiés, j'ouvre ma base de données et je rempli mon "DataGridView1 & 2" (.DataSource) avec les deux tables "recette" & "dépense".

Jusque là tout marchait bien, mais allons savoir pourquoi, maintenant mes DataGridView ne se remplissent plus. ='(

Voici le code :

Code :
 
If(TextBox18.Text = "Utilisateur"And TextBox19.Text = "Mot_De_Passe")Then
GroupBox7.Visible = False
TabControl1.Visible = True
Try
Db.SetVar("localhost", "root", "", "compta")
Dts = Db.LoadDb("recette")
DataGridView1.DataSource = Dts.Tables("recette")
Catch ex As Exception
EndTry
Try
Db.SetVar("localhost", "root", "", "compta")
Dts = Db.LoadDb("depense")
DataGridView2.DataSource = Dts.Tables("depense")
Catch ex As Exception
EndTry
Else : MessageBox.Show("Erreur! Identifiant ou Mot de Passe incorrect.", "Erreur d'identification", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, 0, False)
EndIf
 
Et, pour que ce soit plus simple, voici le code de ma classe, du moins la partie dont je me sert pour remplir les DataGridView :

Code :
 
Imports MySql.Data.MySqlClient' Importation de la classe MySQL
 
PublicClass Cl_MySQL
 
Dim HostConn AsNew MySQLConnection 'Pour une connexion à la base de données MySQL
Dim Dta As MySqlDataAdapter 'Data adapter
Dim Dts AsNew DataSet 'Dataset
Dim Requete AsString'Chaîne où seront stocké les requêtes
Dim Serv, User, Pass, Database, Table AsString
 
'Fonction d'enregistrement des variables User , Pass ,Serveur et eventuellement Database
Function SetVar(ByVal Servv, ByVal Userv, ByVal Passv, ByVal Databasev)
'On ferme la connection si jamais elle existe
HostConn.Close()
Serv = Servv
User = Userv
Pass = Passv
Database = Databasev
'On attribut les variables de la nouvelle connection
HostConn.ConnectionString = "server=" + Serv + ";" _
& "user id=" + User + ";" _
& "password=" + Pass + ";" _
& "database=" + Database + ""
Return1
EndFunction
 
'Charger la table
Function LoadDb(ByVal Table AsString)
'On clear le Dts si jamais il y a quelque chose
Dts.Clear()
Try
Requete = "SELECT * FROM " + Table + ""
'On ouvre la connection
HostConn.Open()
'On execute la requete
Dta = New MySqlDataAdapter(Requete, HostConn)
'On rempli le Dts avec la table demandée
Dta.Fill(Dts, Table)
'On retourne le Dts
Return Dts
'S'il y a une erreur
Catch myerror As MySqlException
'Afficher le message d'erreur
MessageBox.Show("Erreur de Connection à la Base de Données : " & myerror.Message)
Return0
EndTry
EndFunction
 
Voilà, sa marchait très bien hier, sa ne marche plus aujourd'hui, pourtant je n'ai rien touché par rapport à cette partie du code... Enfin je pense, car il dois bien y avoir une erreur, mais je ne fais que relire et je ne trouve pas.

J'espère que vous aurez plus l'Oeil que moi!

Merci pour la lecture,
CleeM.
lundi 3 mars 2008 à 18:44:21 | Re : Erreur System.NullReferenceException

casy

Membre Club
Réponse acceptée !
				
						'Créer une instance de ma classe perso' pour les requêtes
						
Dim Db As Cl_MySQL

Cette ligne ne crée aucunement une instance de ta classe, elle ne fait que déclarer une variable du type de ta classe. Mais ta variable ne contiendra absolument rien tant que tu n'auras pas créer une intance de ta classe et que tu l'auras associe à ta variable.

Essaye avec Dim Db AsNew Cl_MySQL

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
lundi 3 mars 2008 à 18:45:05 | Re : Erreur System.NullReferenceException

casy

Membre Club
Putain de mise en page

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
mardi 4 mars 2008 à 11:55:30 | Re : Erreur System.NullReferenceException

CleemS

Ouai désolé pour la mise en page, j'avais fait sa jolie mais sa a foiré :p

J'essaye direct le AsNew Casy, si c'est sa j'suis aux anges ^^
mardi 4 mars 2008 à 12:02:20 | Re : Erreur System.NullReferenceException

CleemS

Oh My God !!!

Merci beaucoup, et dire que j'ai bloqué là dessus je ne sais combien de temps... Juste pour un "New" !

Bonne journée !
mardi 4 mars 2008 à 12:09:25 | Re : Erreur System.NullReferenceException

CleemS

Tiens j'en profite pour poser une autre question... Peut-être qu'il vaut mieu que je créé une autre discussion?

Je me lance : Sa y est ma table s'affiche dans ma DataGridView (fiou quel progrès !), existe-t'il un moyen de définir la taille des colonnes alors que la DataGridView n'est pas encore remplie? (étant donné que je la rempli qu'après vérification du mot de passe)
mardi 4 mars 2008 à 13:07:59 | Re : Erreur System.NullReferenceException

casy

Membre Club

SI tes colonnes existent déjà, oui, regarde les proriétésAutoSizeMode et Width sur chaque colonne

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]


Cette discussion est classée dans : code, mysql, erreur, db, dts


Répondre à ce message

Sujets en rapport avec ce message

Probleme de gestion d'erreur [ par toto1980 ] Salut j'ai un probleme dont voici le code:J'ai trois bases de donnéesbd2,bd3 et bd4dim n as integerdim db as databasen=0While n5 on error goto fin **Erreur: trop peu de paramètre ** [ par yoarf ] Bonjour,Je développe sous Access 97Dim db As Database, rs1 As Recordset, rs2 As Recordset, rs3 As Recordset Set db = CurrentDb() Set rs1 = d [VB6] Base de donnée MYSQL via MYODBC / Probléme [ par MrOiZo ] Voila mon prob , j'ai ce code suivant Private Sub Rechercher_Click() If requete("SELECT nom_artiste_affiche FROM titre ", rs) Then While Not rs.EOF Le composant Active X ne peut créer l'objet [ par JSilvere ] Bonjour, J'ai un problème avec un de mes programme que j'ai mis au point il y as quelques mois. Je viens de m'en re servir aujourd'hui, et la... Erre Erreur '80040e38' [ par Calade ] Bonjour à tous, Dans une appli, une textbox se remplit par le réalisateur d'un film. Les réalisateurs étant dans une table dédiée, j'ai écrit une DLL Graphique sparkline [ par jeanjeandada ] Bonjour, J'aimerai créer un graphique sparline sous Excel à partir de VBA. Le code ci-dessous ne fctionne pas. Voici ce que j'obtient :"erreur défini Probleme lors de l'extraction d'une resource [ par Sentynel ] Bonjour à tous, J'essaie de copier une resource de mon projet vers un autre emplacement mais une erreur s'affiche. Voici le code : [code=vb] 'J'ai m Message d'erreur avec APPLICATION.RUN [ par debutVBAEXCEL ] Bonjour à tous et à toutes. J'essaie d'executer une macro sous 2010,lors du débogage en mode "PAS à PAS",J'obtiens sur cette ligne : [code=vb]Appl MACRO VBA MESSAGE D ERREUR [ par debutVBAEXCEL ] Bonjour à tous et à toutes Alors j'execute une macro en mode "Pas à PAs" et des que ca arrive au niveau de cette ligne de code Cela m'affiche comme Bonjour à tous (Introduire un code erreur lorsque mon imprimante n'est pas detecté) [ par slater76620 ] Voilà je suis vraiment un débutant à la programmation et je pioche mes codes à droite et à gauche je pense que le début ce réduit à ca, mais bon voici


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,870 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales