ВУЗ:
Составители:
Рубрика:
62
Пример 2
Set MyComm = New ADODB.Command
MyComm.ActiveConnection = CurrentProject.Connection
MyComm.CommandText = "Delete * from Фонд1;"
MyComm.CommandType = adCmdText
MyComm.Execute
Set MyComm = Nothing
Как правильно сгенерировать значения ADO RecordCount
Свойство ADO RecordCount возвращает количество записей в наборе записей ADO.
Однако в некоторых случаях данное свойство возвращает значение, равное -1. Это
происходит из-за того что значение, возвращаемое свойством RecordCount, зависит от типа
курсора в наборе записей: -1 для курсора, перемещаемого только вперед; реальное
количество записей — для статического курсора или курсора, управляемого клавишами на
клавиатуре; -1 или реальное количество записей — для динамического курсора в
зависимости от источника данных.
Кроме того значение RecordCount равно -1 для наборов записей, созданных с помощью
метода Execute для объекта Connection или Command. Это происходит потому, что данный
метод генерирует набор записей, перемещаться по которому можно только вперед. В
примере -1 будет возвращено для набора записей на базе myConRst и реальное количество
записей — для myKeyRst.
Sub TestRecordCount()
Dim myConn As ADODB.Connection
Dim myComm As String
Dim myConRst As ADODB.Recordset
Dim myKeyRst As ADODB.Recordset
Dim sConnection As String
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:\Microsoft Visual Studio\VB98\Biblio.mdb"
Set myConn = New ADODB.Connection
Set myKeyRst = New ADODB.Recordset
myConn.Open sConnection
myComm = "Select * From Authors"
Set myConRst = myConn.Execute(myComm, , adCmdText)
myKeyRst.Open myComm, myConn, adOpenKeyset
MsgBox "RecCount from Connection: " & myConRst.RecordCount & _
vbCr & "From Recordset: " & myKeyRst.RecordCount
Set myKeyRst = Nothing
Set myConRst = Nothing
Set myConn = Nothing
End Sub
В следующих заданиях использовать Модель доступа к данным ADO.
1. Из собственной базы данных подключиться к базе Борей.mdb. Добавить в таблицу
Доставка новую запись.
Пример 2 Set MyComm = New ADODB.Command MyComm.ActiveConnection = CurrentProject.Connection MyComm.CommandText = "Delete * from Фонд1;" MyComm.CommandType = adCmdText MyComm.Execute Set MyComm = Nothing Как правильно сгенерировать значения ADO RecordCount Свойство ADO RecordCount возвращает количество записей в наборе записей ADO. Однако в некоторых случаях данное свойство возвращает значение, равное -1. Это происходит из-за того что значение, возвращаемое свойством RecordCount, зависит от типа курсора в наборе записей: -1 для курсора, перемещаемого только вперед; реальное количество записей — для статического курсора или курсора, управляемого клавишами на клавиатуре; -1 или реальное количество записей — для динамического курсора в зависимости от источника данных. Кроме того значение RecordCount равно -1 для наборов записей, созданных с помощью метода Execute для объекта Connection или Command. Это происходит потому, что данный метод генерирует набор записей, перемещаться по которому можно только вперед. В примере -1 будет возвращено для набора записей на базе myConRst и реальное количество записей — для myKeyRst. Sub TestRecordCount() Dim myConn As ADODB.Connection Dim myComm As String Dim myConRst As ADODB.Recordset Dim myKeyRst As ADODB.Recordset Dim sConnection As String sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:\Microsoft Visual Studio\VB98\Biblio.mdb" Set myConn = New ADODB.Connection Set myKeyRst = New ADODB.Recordset myConn.Open sConnection myComm = "Select * From Authors" Set myConRst = myConn.Execute(myComm, , adCmdText) myKeyRst.Open myComm, myConn, adOpenKeyset MsgBox "RecCount from Connection: " & myConRst.RecordCount & _ vbCr & "From Recordset: " & myKeyRst.RecordCount Set myKeyRst = Nothing Set myConRst = Nothing Set myConn = Nothing End Sub В следующих заданиях использовать Модель доступа к данным ADO. 1. Из собственной базы данных подключиться к базе Борей.mdb. Добавить в таблицу Доставка новую запись. 62