Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 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 файла. и все. Удачи всем. Спасибо.Пока.

Ответить

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

Номер ответа: 1
Автор ответа:
 grayk



Вопросов: 5
Ответов: 100
 Профиль | | #1 Добавлено: 13.04.04 10:50
Конкретно по вопросу не отвечу - последний раз dbf пользовал еще в пору QBasic'а. Если прямой путь не отыщется, могу предложить извращенный вариант. Dbf-файл имеет несложную структуру, которая очень прозрачно описывается в начале файла. Даже не зная всех правил, можно просто поковыряться в нем (удобно вначале создать простейшую БД  с парой записей, чтобы знать, что искать) и найти все, что нужно, а затем написать пару процедур для изменения данных.

Ответить

Номер ответа: 2
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #2
Добавлено: 13.04.04 11:32
Классы для работы с ODBC лежат в пространстве имён System.Data.ODBC.

Ответить

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



Вопросов: 2
Ответов: 2
 Профиль | | #3 Добавлено: 13.04.04 19:56

Ни в системе имен microsoft, ни в системе имен system.data нет odbc. как с ним работать?

По поводу структуры ДБФа и работы с ним как с текстом напрямую: я посмотрел через блокноты и т.п. программы, но структура черезчур сложна, чтобы можно было работать с ДБФ как с текстовым файлом.

Ответить

Номер ответа: 4
Автор ответа:
  Артём Л.



ICQ: 280044491 

Вопросов: 43
Ответов: 227
 Профиль | | #4 Добавлено: 13.04.04 20:17
MS.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 DataSet

Private 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=2048;DSN=dBASE Files;PageTimeout=5;DefaultDir=D:\Work\WindowsApplication1;DBQ=d:\dbf;DriverId=533;"

Dim daKonv As OdbcDataAdapter = New OdbcDataAdapter(strSQL, strCnn)

daKonv.MissingSchemaAction = MissingSchemaAction.AddWithKey

dsKonv1 = New DataSet

daKonv.Fill(dsKonv1, "Таблица1")

DataGrid1.SetDataBinding(dsKonv1, "Таблица1")

End Sub

Ответить

Страница: 1 |

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



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