Execption levée lors de l'exécution d'1 2e requete
1 réponse
Bonjour,
Dans 1 application VB .Net 2008 Express, je gère 2 bases de données SQL
Server 2008 Express (1 base appli, et 1 base projet).
Pas de problème avec la base 1.
Avec la base 2, j'ai 1 petit soucis incompréhensible.
Dans cette base, j'ai 2 tables.
Conception[Numéro, Champs1, Champs2]
Numéro est la clef primaire de type int sans incrémentation automatique
(c'est fait exprès car la table a soit 0 soit 1 seule occurence)
Il n'y a pas de problème particulier pour cette table lorsque j'exécute la
requête :
req = "Select * From Conception Where Numéro=0"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
If sdr.HasRows AndAlso sdr.Read Then
L'objet sdr est bien créé, et dans mon cas, pour le moment, sdr.HasRows =
False (pas d'occurence dans la table)
A la fin du traitement de cette table, le SqlDataReader est fermé avec :
sdr.Close()
A noter que connection_bdd_projet est 1 SqlConnection qui a à ce moment la
propriété State=ConnectionState.Open.
Par contre, mon problème apparaît dans la 2e table :
Tous les champs sont de type int et NuméroAuto est la clef primaire avec
incrémentation automatique.
Mais cette fois-ci ExecuteReader provoque 1 erreur :
req = "Select * From ConceptionComposants"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
La dernière commande refuse de s'exécuter et lève 1 exception :
L'exception SqlExeption n'a pas été gérée
Nom d'objet 'ConceptionComposants' non valide.
Pourtant, j'ai fait 1 copier coller du nom de la table à partir du
concepteur pour éviter toute faute de frappe, et j'ai même supprimé et
recréé la table, mais l'erreur persiste.
Merci d'avance pour votre aide,
Stéphane
PS : Je remet le code de la procédure pour 1 meilleure lisibilité :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Problème réglé, je travaillais avec 1 ancienne version de base de données où cette table n'existait pas encore !
<Stéphane> a écrit dans le message de news:
Bonjour,
Dans 1 application VB .Net 2008 Express, je gère 2 bases de données SQL Server 2008 Express (1 base appli, et 1 base projet).
Pas de problème avec la base 1.
Avec la base 2, j'ai 1 petit soucis incompréhensible.
Dans cette base, j'ai 2 tables. Conception[Numéro, Champs1, Champs2] Numéro est la clef primaire de type int sans incrémentation automatique (c'est fait exprès car la table a soit 0 soit 1 seule occurence) Il n'y a pas de problème particulier pour cette table lorsque j'exécute la requête : req = "Select * From Conception Where Numéro=0"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
If sdr.HasRows AndAlso sdr.Read Then
L'objet sdr est bien créé, et dans mon cas, pour le moment, sdr.HasRows = False (pas d'occurence dans la table)
A la fin du traitement de cette table, le SqlDataReader est fermé avec :
sdr.Close()
A noter que connection_bdd_projet est 1 SqlConnection qui a à ce moment la propriété State=ConnectionState.Open.
Par contre, mon problème apparaît dans la 2e table :
Tous les champs sont de type int et NuméroAuto est la clef primaire avec incrémentation automatique.
Mais cette fois-ci ExecuteReader provoque 1 erreur :
req = "Select * From ConceptionComposants"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
La dernière commande refuse de s'exécuter et lève 1 exception :
L'exception SqlExeption n'a pas été gérée
Nom d'objet 'ConceptionComposants' non valide.
Pourtant, j'ai fait 1 copier coller du nom de la table à partir du concepteur pour éviter toute faute de frappe, et j'ai même supprimé et recréé la table, mais l'erreur persiste.
Merci d'avance pour votre aide,
Stéphane
PS : Je remet le code de la procédure pour 1 meilleure lisibilité :
Sub charge_bdd_projet()
Dim req As String
Dim sdr As SqlDataReader
Dim sc As SqlCommand
req = "Select * From Conception Where Numéro=0"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
If sdr.HasRows AndAlso sdr.Read Then
'Traitement
End If
sdr.Close()
req = "Select * From ConceptionComposants"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader 'Exception générée
Problème réglé,
je travaillais avec 1 ancienne version de base de données où cette table
n'existait pas encore !
<Stéphane> a écrit dans le message de news:
u81eK09fJHA.3812@TK2MSFTNGP04.phx.gbl...
Bonjour,
Dans 1 application VB .Net 2008 Express, je gère 2 bases de données SQL
Server 2008 Express (1 base appli, et 1 base projet).
Pas de problème avec la base 1.
Avec la base 2, j'ai 1 petit soucis incompréhensible.
Dans cette base, j'ai 2 tables.
Conception[Numéro, Champs1, Champs2]
Numéro est la clef primaire de type int sans incrémentation automatique
(c'est fait exprès car la table a soit 0 soit 1 seule occurence)
Il n'y a pas de problème particulier pour cette table lorsque j'exécute la
requête :
req = "Select * From Conception Where Numéro=0"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
If sdr.HasRows AndAlso sdr.Read Then
L'objet sdr est bien créé, et dans mon cas, pour le moment, sdr.HasRows =
False (pas d'occurence dans la table)
A la fin du traitement de cette table, le SqlDataReader est fermé avec :
sdr.Close()
A noter que connection_bdd_projet est 1 SqlConnection qui a à ce moment la
propriété State=ConnectionState.Open.
Par contre, mon problème apparaît dans la 2e table :
Tous les champs sont de type int et NuméroAuto est la clef primaire avec
incrémentation automatique.
Mais cette fois-ci ExecuteReader provoque 1 erreur :
req = "Select * From ConceptionComposants"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
La dernière commande refuse de s'exécuter et lève 1 exception :
L'exception SqlExeption n'a pas été gérée
Nom d'objet 'ConceptionComposants' non valide.
Pourtant, j'ai fait 1 copier coller du nom de la table à partir du
concepteur pour éviter toute faute de frappe, et j'ai même supprimé et
recréé la table, mais l'erreur persiste.
Merci d'avance pour votre aide,
Stéphane
PS : Je remet le code de la procédure pour 1 meilleure lisibilité :
Problème réglé, je travaillais avec 1 ancienne version de base de données où cette table n'existait pas encore !
<Stéphane> a écrit dans le message de news:
Bonjour,
Dans 1 application VB .Net 2008 Express, je gère 2 bases de données SQL Server 2008 Express (1 base appli, et 1 base projet).
Pas de problème avec la base 1.
Avec la base 2, j'ai 1 petit soucis incompréhensible.
Dans cette base, j'ai 2 tables. Conception[Numéro, Champs1, Champs2] Numéro est la clef primaire de type int sans incrémentation automatique (c'est fait exprès car la table a soit 0 soit 1 seule occurence) Il n'y a pas de problème particulier pour cette table lorsque j'exécute la requête : req = "Select * From Conception Where Numéro=0"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
If sdr.HasRows AndAlso sdr.Read Then
L'objet sdr est bien créé, et dans mon cas, pour le moment, sdr.HasRows = False (pas d'occurence dans la table)
A la fin du traitement de cette table, le SqlDataReader est fermé avec :
sdr.Close()
A noter que connection_bdd_projet est 1 SqlConnection qui a à ce moment la propriété State=ConnectionState.Open.
Par contre, mon problème apparaît dans la 2e table :
Tous les champs sont de type int et NuméroAuto est la clef primaire avec incrémentation automatique.
Mais cette fois-ci ExecuteReader provoque 1 erreur :
req = "Select * From ConceptionComposants"
sc = New SqlCommand(req, connection_bdd_projet)
sdr = sc.ExecuteReader
La dernière commande refuse de s'exécuter et lève 1 exception :
L'exception SqlExeption n'a pas été gérée
Nom d'objet 'ConceptionComposants' non valide.
Pourtant, j'ai fait 1 copier coller du nom de la table à partir du concepteur pour éviter toute faute de frappe, et j'ai même supprimé et recréé la table, mais l'erreur persiste.
Merci d'avance pour votre aide,
Stéphane
PS : Je remet le code de la procédure pour 1 meilleure lisibilité :