Jet 4 does not support OleDb.OleDbSchemaGuid.Procedure_Parameters, alternatives to determine parameters of a stored proc in MS-Access?

I am trying to access Database Schema-Information via VB.NET 2003, ADO.NET.
Apparently Jet 4 (as I found described for Jet 3.51 in MS-KB: http://support.microsoft.com/kb/q191356/ ) does not support "procedure_parameters"-option in OleDbSchemaGuid:

 _conn.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Procedure_Parameters, New Object() {})

I can not find another possibility to know, which parameters should be supplied to a procedure in MS-Access.
Any help deeply appreciated!

Regards, Duc
Duc_de_BelfortAsked:
Who is Participating?
 
moduloConnect With a Mentor Commented:
PAQed with points refunded (250)

modulo
Community Support Moderator
0
 
Arthur_WoodCommented:
Access does not support STORED PROCEDURES in the same sense that SQL Server or Oracle use the term 'Stored Procedure'

What are you attempting to do?

and the Jet Engine does not directly support getting the Schema from an MDB in any case.

AW
0
 
Duc_de_BelfortAuthor Commented:
My goal is to create a flexible Query-Tool in a .NET application. So I built a form with a textbox, a datagrid and a button, when the button is clicked I try to execute the SQLString in the textbox and fill the datagrid with the result dataset.

Example, I create this view in Northwind, named myParamView:
PARAMETERS sCountry TEXT;
SELECT * FROM Orders
WHERE (((Orders.ShipCountry)=sCountry));

When the user enters the name of this view and leaves out the parameter, I want to give him a feedback to enter the appropriate parameter.

I hope I was clear enough...

Duc
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
stevbeCommented:
I think you can instantiate a command object based on the query and then iterate the parameters collection of it.

Steve
0
 
Duc_de_BelfortAuthor Commented:
Steve,
I'm afraid your solution doesn't work. I interpreted your solution similar to:

Dim testcmd As New OleDb.OleDbCommand(myParamView, _conn)
testcmd.Connection.Open()
Debug.WriteLine(testcmd.Parameters.Count)
testcmd.Connection.Close()

The parameters collection does not contain any item...
:-(

Duc
0
 
Duc_de_BelfortAuthor Commented:
Just increasing points.... :-)
0
 
stevbeCommented:
Sorry, ADODB automatically refreshes the parameters collection for you and it sounds like OLEDB does not so you will have to issue the .Refresh directive before getting the count.

cmd.Parameters.Refresh
cmd.Parameters.Count

or to loop through them ...

cmd.Parameters.Refresh
For Each prm In cmd.Parameters
 ...
End If

Steve
0
 
Duc_de_BelfortAuthor Commented:
I don't have the possibility to refresh the parameters collection:
refresh is not a member of oledb.oledbParameterCollection....

still :-(

Andri
0
 
Duc_de_BelfortAuthor Commented:
Still no solution for this problem, so I will wait ....

:-(
0
All Courses

From novice to tech pro — start learning today.