djbenji81100
Messages postés66Date d'inscriptionvendredi 9 septembre 2011StatutMembreDernière intervention 4 juin 2012
-
18 avril 2012 à 15:49
djbenji81100
Messages postés66Date d'inscriptionvendredi 9 septembre 2011StatutMembreDernière intervention 4 juin 2012
-
19 avril 2012 à 13:21
Bonjour ,
Je suis en train de creer une petite application necessitant une connexion a une base de donnée .
Jusque la tous vas bien je l'est fait avec postgres.
Mais voila lors de l'execution d'une requete monsieur me mets un message d'erreur qui a le don de m'enerver !
Voila le code :
Imports System
Imports System.Management
Imports System.Windows.Forms
Imports ADODB
Public Class Fenetre
Private chaineconnexion As String
Private cn As New ADODB.Connection
Private Sub Fenetre_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim req_sql As String
Dim i As Integer
Dim rs As New ADODB.Recordset
chaineconnexion = "Driver={PostgreSQL ANSI};Server=localhost;Port=5432;Database=Camping_Palace;Uid=postgres;Pwd=modesty1"
req_sql ("select nom from type_emplacement where code_emplacement " & i)
' For i = 1 To 2
Try
cn.Open(chaineconnexion)
i = 1
rs.Open(req_sql, cn, CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
MsgBox(rs.Fields(0).Value)
Liste_type_emplacement.Items.Add(rs.Fields(0).Value)
rs.Close()
cn.Close()
Catch ex As Exception
MsgBox("une Exception est déclenchée" & vbCrLf & ex.Message)
'gestion_erreur(cn)
Finally
cn = Nothing
End Try
' Next
End Sub
End Class
voila le message d'erreur :
"une Exception est déclenchée
BOF ou EOF est égal a true ou l'enregistrement actuel a été supprimée. L'opération demandée nécessite un enregistrement actuel . "
En regardant la requete de plus prés en l'executant sous pgadmin 3 il n'y as aucun probleme . De meme sur le logiciel lorsque je mets la valeur de code_emplacement en dur ( soit 1,2,3 ...) alors Pourquois lorsque je le marque comme ceci il n'aime pas ?
Ce n'est pas la premiere foi que je fait ce genre de requete sur visual studio 2010 mais c'est bien la premiere fois qu'il me marque ce message d'erreur .
NHenry
Messages postés15151Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 4 septembre 2024159 18 avril 2012 à 19:36
Bonjour,
ton enregistrement est vide, regardes la requête que tu fais en pas à pas, tu verra que tu recherches l'Id 0.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
NHenry
Messages postés15151Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 4 septembre 2024159 19 avril 2012 à 12:31
Bonjour,
Sur quelle ligne est déclenchée l'erreur ?
As-tu vérifié les valeurs de la ligne ?
Et si rs est vide (aucun enregistrement) ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
djbenji81100
Messages postés66Date d'inscriptionvendredi 9 septembre 2011StatutMembreDernière intervention 4 juin 2012 19 avril 2012 à 10:58
Bonjour ,
dsl du retard , mais merci pour la reponce !
exact ! j'ai donc modifier ceci mais j'ai toujour une erreur ( differente ) voila ce que j'ai changer .
j'ai meme un peu honte de ne pa avoir trouver l'erreur
Dim req_sql As String
Dim i As Integer
Dim rs As New ADODB.Recordset
chaineconnexion = "Driver={PostgreSQL ANSI};Server=localhost;Port=5432;Database=Campig_Palace;Uid=postgres;Pwd=modesty1"
i = 1
While i <= 2
req_sql ("select nom from type_emplacement where code_emplacement " & i)
Try
cn.Open(chaineconnexion)
rs.Open(req_sql, cn, CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
MsgBox(rs.Fields(0).Value)
Liste_type_emplacement.Items.Add(rs.Fields(0).Value)
rs.Close()
cn.Close()
Catch ex As Exception
[....]
donc il fait bien le premier tour de boucle avec la bonne info sur le msgbox , mais lors du second tour lors de la connexion avec : "cn.Open(chaineconnexion)"
j'ai ce message d'erreur :
" une Exception est déclenché"
la référence d'oblet n'est pas definie a une instance d'un objet."