Страница: 1 |
|
Вопрос: Чтение/редактирование *.dbf из приложения VB.Net?
|
Добавлено: 12.04.04 22:36
|
|
Автор вопроса: aquatic
|
Привет всем! Знаю, что эту тему уже давно обхаживают, но подробно так никто и не написал, по крайней мере я не нашел, может плохо искал. Я вроде как надеялся, что в VS есть драйверы odbc для подключения к Dbase файлам. После неудачной попытки подключиться с помощью драйвера MS OleDb provider for odbc drivers в server explorer я нашел в МСДН что есть microsoft.Data.odbc класс, но такого у себя в VS.Net не нашел. Также смотрел в Винде Настройки/Администрирование/Источники ODBC. там вроде драйвер для файлов Dbase есть. Может кто поможет словом, а может и конкретным примером. Напомню: конечная цель - редактирование некоего dbf файла. и все. Удачи всем. Спасибо.Пока.
Ответить
|
Номер ответа: 1 Автор ответа: grayk
Вопросов: 5 Ответов: 100
|
Профиль | | #1
|
Добавлено: 13.04.04 10:50
|
Конкретно по вопросу не отвечу - последний раз dbf пользовал еще в пору QBasic'а. Если прямой путь не отыщется, могу предложить извращенный вариант. Dbf-файл имеет несложную структуру, которая очень прозрачно описывается в начале файла. Даже не зная всех правил, можно просто поковыряться в нем (удобно вначале создать простейшую БД с парой записей, чтобы знать, что искать) и найти все, что нужно, а затем написать пару процедур для изменения данных.
Ответить
|
Номер ответа: 3 Автор ответа: aquatic
Вопросов: 2 Ответов: 2
|
Профиль | | #3
|
Добавлено: 13.04.04 19:56
|
Ни в системе имен microsoft, ни в системе имен system.data нет odbc. как с ним работать? По поводу структуры ДБФа и работы с ним как с текстом напрямую: я посмотрел через блокноты и т.п. программы, но структура черезчур сложна, чтобы можно было работать с ДБФ как с текстовым файлом.
Ответить
|
Номер ответа: 5 Автор ответа: aquatic
Вопросов: 2 Ответов: 2
|
Профиль | | #5
|
Добавлено: 13.04.04 21:07
|
Спасибо, vodalex@rambler.ru Я что-то качал и ставил уже, но может твое лекарство поможет. Спасибо еще раз
Ответить
|
Номер ответа: 6 Автор ответа: evgen2
Вопросов: 1 Ответов: 3
|
Профиль | | #6
|
Добавлено: 12.05.04 18:58
|
Ставь VB 7.1 (2003) и пользуйся OdbcDataAdapter. Пример: Private dsKonv1 As DataSetPrivate Sub frmKonv_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim strSQL As String = "SELECT KVAR.NTEL, KVAR.FIO1, KVAR.FIO2, SSTREET.NSTREET, KVAR.HOUSE, KVAR.HOUSETWO, KVAR.HOMEKV, FKTOU.PR09 FROM (KVAR LEFT JOIN FKTOU ON KVAR.NTEL=FKTOU.NTEL) LEFT JOIN SSTREET ON KVAR.STREET=SSTREET.STREET WHERE(KVAR.NTEL > 19999) ORDER BY KVAR.NTEL;"Dim strCnn As String = "MaxBufferSize=2048SN=dBASE Files;PageTimeout=5efaultDir=D:\Work\WindowsApplication1BQ=d:\dbfriverId=533;"Dim daKonv As OdbcDataAdapter = New OdbcDataAdapter(strSQL, strCnn)daKonv.MissingSchemaAction = MissingSchemaAction.AddWithKey dsKonv1 = New DataSetdaKonv.Fill(dsKonv1, "Таблица1") DataGrid1.SetDataBinding(dsKonv1, "Таблица1") End Sub
Ответить
|
Страница: 1 |
Поиск по форуму