Requete Access avec paramètres, éxécutée en VB .Net

Requete Access avec paramètres, éxécutée en VB .Net - C#/.NET managed - Programmation

Marsh Posté le 14-05-2010 à 17:54:57    

Bonjour à tous
 
J'ai un soucis d'appel sous VB .Net
 
. J'ai créé ma requête Sel_Table dans ma base Access :

Citation :

Select * From Table Where Champ1 = [TOTO];


Dans mon code en VB .Net, je mets ça :

Citation :

Dim Requete As string = "Sel_Table"
Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter
MyAdapter.SelectCommand = New OleDbCommand(Requete, oAccess)
MyAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
MyAdapter.SelectCommand.Parameters.Add("TOTO", OleDbType.VarChar)
MyAdapter.SelectCommand.Parameters(0).Value = Valeur
MyDataSet = New DataSet()
MyAdapter.Fill(MyDataSet)
myTable = MyDataSet.Tables(0)


 
La requête est bonne sous Access, mais par VB.Net ça ne retourne rien  :cry:  Aurais je un problème de nommage de paramètre ?
 
Merci d'avance.


Message édité par chris500 le 14-05-2010 à 17:55:25

---------------
Homme, tu n'es que poussière. Thon, tu n'es que miettes.
Reply

Marsh Posté le 14-05-2010 à 17:54:57   

Reply

Marsh Posté le 14-05-2010 à 21:31:57    

J'ai essayé de lancer  

Citation :

Requete = "Sel_Table('azerty')"
Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter
MyAdapter.SelectCommand = New OleDbCommand(Requete, oAccess)
MyAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
MyDataSet = New DataSet()
MyAdapter.Fill(MyDataSet)
myTable = MyDataSet.Tables(0)


 
Mais lors du MyAdapter.fill , j'obtiens une erreur

Citation :

Index #0
Message: Erreur de syntaxe dans la clause de paramètres. Assurez-vous que les paramètres existent et que vous avez entré correctement sa valeur.
NativeError : -230755778
Source: Microsoft JET Database Engine
SQLState: 3746


---------------
Homme, tu n'es que poussière. Thon, tu n'es que miettes.
Reply

Marsh Posté le 14-05-2010 à 21:54:32    

C'est bon, j'ai réussi à faire fonctionner ma requête.
 

Citation :


Dim Requete As string = "Sel_Table"
Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter
MyAdapter.SelectCommand = New OleDbCommand(Requete, oAccess)
MyAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
MyAdapter.SelectCommand.Parameters.AddWithValue("TOTO", Valeur)
MyDataSet = New DataSet()
MyAdapter.Fill(MyDataSet)
myTable = MyDataSet.Tables(0)


 
Et pour info, le LIKE dans Access se fait avec * (Like 'Toto*'), mais dans l'appel en VB .Net il faut 'Toto%'  :pt1cable:


---------------
Homme, tu n'es que poussière. Thon, tu n'es que miettes.
Reply

Marsh Posté le 15-05-2010 à 12:27:21    

C'est pour une toute petite application, je n'allais quand même pas installer MySql ou SqlServeur pour ça, d'autant ça doit être facilement installable  :D


---------------
Homme, tu n'es que poussière. Thon, tu n'es que miettes.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed