bonjour
je cherche à utiliser Ado dans vb.net,alors j'ai conçu un petit programme,que voici
au début tout marchait bien mais dernièrement quand j'execute le programme ,je reçois un message du genre
L'argument 'Prompt' ne peut pas être converti en type 'String'
au niveau de l'éxecution de la commande parametrée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Imports System.Data
Imports ADODB
Imports System.Data.OleDb
Public Class ClsDonneesEleves
 
 
Public Sub New()
        CnDonnees = New ADODB.Connection
        CnDonnees.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; data source=" & My.Application.Info.DirectoryPath & "\compétences.mdb"
        Try
            CnDonnees.Open()
        Catch ex As Exception
            MsgBox(" L'érreure suivante a été rencontrée : " & ex.Message, MsgBoxStyle.Critical, "Correction")
        End Try
    End Sub
 
 
 
Public Sub ChercherDonneesEleves()
        StrSql = "select * from candidat where (((Candidat.codecand)=?))"
        Try
            CmdDonnees = New Command
            CmdDonnees.ActiveConnection = CnDonnees
            CmdDonnees.prepared=true
            Prm1 = CmdDonnees.CreateParameter("Prm1", ADODB.DataTypeEnum.adBSTR)
            CmdDonnees.Parameters.Append(Prm1)
            Prm1.Value = MonCodeNational
            Prm1.Size = Len(MonCodeNational)
            CmdDonnees.CommandText = StrSql
            CmdDonnees.CommandType = CommandType.Text
            RsDonnees = New ADODB.Recordset
            RsDonnees.Open(StrSql, , ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
        Catch ex As Exception
            MsgBox(ex)
        End Try
    End Sub
 
End Class
à l'éxécution au niveau du msgbox(ex) je reçois le message
L'argument 'Prompt' ne peut pas être converti en type 'String'
et si je n'utilise pas try
je reçois le message au niveau de l'ajout du parametre à la collection parameteres de la commande
Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject' en type de classe 'ADODB.InternalParameter'. Les instances de types qui représentent des composants COM ne peuvent pas être castées en types qui ne représentent pas des composants COM ; toutefois, elles peuvent être castées en interfaces tant que le composant COM sous-jacent prend en charge les appels QueryInterface pour l'IID de l'interface.
j'aimerais donc que quelqu'un me vienne en aide et merçi.