- Код: Выделить всё
Public oCnn As Object
Public oRst As Object
Sub Main()
Set oCnn = CreateObject("ADODB.Connection")
oCnn.ConnectionString = "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=BTIZ;Password=****;Data Source=SOUTH"
Set oRst = CreateObject("ADODB.Recordset")
Set oRst.ActiveConnection = oCnn
oRst.CursorType = adOpenKeyset
oRst.LockType = adLockBatchOptimistic
oRst.CursorLocation = adUseClient
'Здесь выбираю данные
oRst.Source = "SELECT * FROM OTIZ_SCHEDULE"
oRst.Open
'Присваиваю их DataGrid
frmMain.Text3.Text = oRst.RecordCount
Set frmMain.DataGrid1.DataSource = oRst
End Sub
Так все работает. Но потом пытаюсь данные получать через ADODB.Command
- Код: Выделить всё
Public oCnn As Object
Public oCmd As Object
Public oRst As Object
Sub Main()
Set oCnn = CreateObject("ADODB.Connection")
oCnn.ConnectionString = "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=BTIZ;Password=****;Data Source=SOUTH"
Set oCmd = CreateObject("ADODB.Command")
Set oCmd.ActiveConnection = oCnn
Set oRst = CreateObject("ADODB.Recordset")
Set oRst.ActiveConnection = oCnn
oRst.CursorType = adOpenKeyset
oRst.LockType = adLockBatchOptimistic
oRst.CursorLocation = adUseClient
'Выбираю данные
oCmd.CommandText = "SELECT * FROM OTIZ_SCHEDULE"
'Передаю результирующий набор Recorset'у
Set oRst = oCmd.Execute
'Присваиваю DataGrid, причем oRst.RecordCount выдает -1
frmMain.Text3.Text = oRst.RecordCount
'... а здесь выдается ошибка.
Set frmMain.DataGrid1.DataSource = oRst
End Sub
То так выдается ошибка
Run-time error '7004':
The rowset is not bookmarkable.
В чем здесь дело?