Paul,
I am stuck with this. I am using your code as an example an it never
returns
any rows. The query works ok in Access and I get no errors, just an empty
dataset.
My query - procSearchFirst
PARAMETERS @strFirst Text ( 255 );
SELECT *
FROM ticket
WHERE (((UCase([First])) Like UCase(strFirst+"*")));
My Code snippet:
Dim AccessConn As System.Data.OleDb.OleDbConnection
AccessConn = New System.Data.OleDb.OleDbConnection(ConnString)
AccessConn.Open()
Dim AccessCommand As New
System.Data.OleDb.OleDbCommand("procSearchFirst", AccessConn)
AccessCommand.CommandType = CommandType.StoredProcedure
AccessCommand.Parameters.Add("@strFirst",
System.Data.OleDb.OleDbType.VarChar).Value = txtSrchFirst.Text
MsgBox(AccessCommand.Parameters("@strFirst").Value)
Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
With da
.SelectCommand = AccessCommand
End With
Dim ds As New DataSet()
da.Fill(ds, "Peeps")
MsgBox(ds.Tables("Peeps").Rows.Count())
Count is always zero. Any Suggestions please??
Paul Clement said:
On Tue, 7 Feb 2006 12:15:28 -0800, "pradeep"
¤ I want to programmatically call a query, which is inside the Access
Database.
¤ Either in C# or VB.NET. I dont' watn to write the query in the code.
Rather
¤ would call a query inside the access db.
I'll assume you want to return data. Relatively simple method below:
Dim AccessConn As System.Data.OleDb.OleDbConnection
AccessConn = New
System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=e:\My Documents\db1.mdb")
AccessConn.Open()
Dim AccessCommand As New
System.Data.OleDb.OleDbCommand("qryTable1", AccessConn)
AccessCommand.CommandType = CommandType.StoredProcedure
Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
With da
.SelectCommand = AccessCommand
End With
Dim ds As New DataSet("AccessTables")
da.Fill(ds, "Table1")
DataGrid1.SetDataBinding(ds, "Table1")
DataGrid1.Refresh()
AccessConn.Close()
Paul
~~~~
Microsoft MVP (Visual Basic)