Я преобразовываю старое приложение для использования базы данных SQL Compact (она работает нормально с SQ Server 2005 и 2008) и использование следующего кода выдает ошибку при попытке выполнить простую команду выбора:
Private Const mSqlProvider As String = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;"
Private Const mSqlHost As String = "Data Source=C:\database.sdf;"
Private mCmd As ADODB.Command ' For executing SQL'
Private mDbConnection As ADODB.Connection
Private Sub Command1_Click()
Dim DbConnectionString As String
DbConnectionString = mSqlProvider & _
mSqlHost
Set mDbConnection = New ADODB.Connection
mDbConnection.CursorLocation = adUseClient
Call mDbConnection.Open(DbConnectionString)
If mDbConnection.State = adStateOpen Then
Debug.Print (" Database is open")
' Initialise the command object'
Set mCmd = New ADODB.Command
mCmd.ActiveConnection = mDbConnection
End If
mCmd.CommandText = "select * from myTable"
mCmd.CommandType = adCmdText
mCmd.Execute ' FAILS HERE! '
End Sub
Я ссылался на библиотеку Microsoft ActiveX Data Access Object 6.0 в проекте.
Я получаю ошибку:
Ошибка времени выполнения -2147217887 (80040e21)
Многошаговая операция вызвала ошибки. Проверьте каждое значение статуса
Просто интересно, есть ли у кого-нибудь предложения?
Спасибо