Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: работа с базами dbf Добавлено: 02.09.02 09:46  

Автор вопроса:  Николай | Web-сайт: www.tv-vm.narod.ru/

помогите пожайлуста. во всех материалах по VB 6 которые я встечал описываются методы работы с базами данных типа Access. кто нибудь может подсказать как работать с базами других форматов(например dbf)

следующий код дает ошибку 3251 "операция не поддерживается для объектов этого типа"

Dim dbb1 As Database

Dim rs As Recordset

Private Sub Form_Load()

Dim sblocation As String

sblocation = "D:\VBPROGS\b1\b1.dbf"

Set dbb1 = DBEngine.Workspaces(0).OpenDatabase (sblocation)

Set rs = dbb1.OpenRecordset("b1", dbOpenDynaset)

End Sub

подскажите хотя бы где об этом можно почитать

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Блаш



Вопросов: 10
Ответов: 30
 Профиль | | #1 Добавлено: 03.09.02 18:41

Я работал с помощью ADO.

----------------------------------------------------

Public ConBase As New ADODB.Connection

Public RecBase As New ADODB.Recordset

dim Arg as string, MasterPath as string

MasterPath = "C:\.....\каталог_базы\"

Arg = "Driver={Microsoft FoxPro VFP Driver (*.dbf)};UID=;PWD=;SourceDB=" _

& MasterPath & _

";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes; _

Collate=Machine;Null=Yes;Deleted=Yes;"

ConBase.Open((Arg))

RecBase.Open("Select * From " & "имя_файла_таблицы" & _

";", ConBase, _

ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)

----------------------------------------------------

Это примерно, ибо надёргал из старого проекта и между делом редактировал.

Здесь есть напряг один: формат dbf юзают несколько типов баз данных (как я понял) и самое главное - формируя строку, для коннекта к базе, сунуть туда имя нужного провайдера. Строка у меня целиком из текста выдрана и если она не подходит, то пиши на мыло и я тебе документацию какая есть вышлю.

Ещё, вместо имён таблиц, как в mdb, в запросах используются имена файлов из базы, т.к. в каждом только одна таблица.

PS: Когда сам искал - ни одна зараза не подсказала! Такое впечатление, что тут толи собрались исключительно новички, или просто опытом не хотят делиться ;(((

Ответить

Номер ответа: 2
Автор ответа:
 LIS



Вопросов: 7
Ответов: 256
 Профиль | | #2 Добавлено: 03.09.02 22:38

' For DAO 3.51 ... Replace IV to 5.0 if you are with dBase 5.0

Dim db As Database

Dim rs As Recordset

Private Sub Form_Load()

sDBPath = "c:\dbu\"

' open the database as a dBase IV file, using database path

Set db = DBEngine.Workspaces(0).OpenDatabase( _

sDBPath, False, False, "dBase IV;")

' open the database file 'TEST' as a table

Set rs = db.OpenRecordset("test", dbOpenTable)

With rs

If (.EOF And .BOF) Then

' EmptyRecordset

Else

MsgBox (rs!code)

End If

End With

End Sub

and GOOD LUCK...

Ответить

Номер ответа: 3
Автор ответа:
 LIS



Вопросов: 7
Ответов: 256
 Профиль | | #3 Добавлено: 03.09.02 22:39

Sorry for delay , we had "May 1" ....

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам