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 genreau niveau de l'éxecution de la commande parametrée.L'argument 'Prompt' ne peut pas être converti en type 'String'à l'éxécution au niveau du msgbox(ex) je reçois le message
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 Classet si je n'utilise pas tryL'argument 'Prompt' ne peut pas être converti en type 'String'
je reçois le message au niveau de l'ajout du parametre à la collection parameteres de la commande
j'aimerais donc que quelqu'un me vienne en aide et merçi.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.
Partager