Using ADODB.Recordset in VB.NET 2008

bsms's Avatar, Join Date: Jul 2009
Newbie Member
I am working in VB.NET 2008, trying to run a query on the database MyDatabase#1.sdf and output the results to an Excel spreadsheet via an ADO Recordset.

Imports Excel = Microsoft.Office.Interop.Excel
Imports System.Data
Imports System.Data.OleDb
Imports ADODB
Imports System.Data.SqlClient
Imports System.Console
Imports System.Data.SqlServerCe
Imports Microsoft.VisualBasic

Public Class Form3

    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim rs As New ADODB.Recordset
        Dim dbConnection As SqlCeConnection
        dbConnection = New SqlCeConnection("Persist Security Info = False; Data Source = C:\Documents and Settings\Desktop\MyDatabase#1.sdf")

        ' Create the connection string.

        'Create the SQL statement.
        Dim testCommand As SqlCeCommand = New SqlCeCommand("SELECT * FROM Name")
        'Create the recordset and run the query.
        rs = New ADODB.Recordset
        rs.Open(testCommand, dbConnection, 0, 1, 1)
I keep getting errors with this line:
rs.Open(testCommand, dbConnection, 0, 1, 1)

The error reads: COMException was unhandled. Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

Any ideas on what the problem might be?? I am fairly new at all of this and really confused.
xpi0t0s's Avatar, Join Date: Aug 2004
What happens if you use just "SELECT * FROM Name" instead of testCommand?
bsms's Avatar, Join Date: Jul 2009
Newbie Member
Unfortunately it still does not work. I am still having the same problem.