Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VB

Программирование VB

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как на VB открыть и редактировать БД Paradox
 
 автор: Denis   (17.05.2009 в 14:10)   личное сообщение
 
 

Добрый день!

Мне необходимо через VB открыть БД Paradox и добавить в неё свои строки только уже со своими значениями. С VB работаю недавно и не знаю как это сделать. ОЧЕНЬ НУЖНО!!!

Кто знает как это сделать пожалуйста помогите. Заранее очень признателен!!!

  Ответить  
 
 автор: час   (17.05.2009 в 17:26)   личное сообщение
 
 


ADO и файлы xBASE и Paradox
Итак, мы смогли наладить работу через ADO к файлам формата MS Access. Но ведь мы можем и должны использовать файлы xBase и Paradox в качестве обменных файлов. 

Попробуем это сделать. Все примеры какие я видел в книгах работают одинаково – через ‘Microsoft OLE DB provider for ODBC’. А все редакторы, которые делают строку подключения, всегда показывают только mdb файлы в диалоге, в котором задается путь к файлу БД. Что-то тут нечисто, подумал я – а как же тот же самый Access это делает? Ведь явно не через ODBC, стало быть, есть какая-то хитрость.

После примерно недельных поисков в Интернете решение было найдено. Да, действительно можно использовать ‘Microsoft Jet 4.0 OLE DB Provider’. Чтобы не рассказывать долго, представим, что у нас на диске D в корне лежит файл Test.dbf формата dBase 5.0. 

Строка коннекта для этого случая будет выглядеть так:

'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:;Extended Properties=dBase 5.0; Mode=Read|Write|Share Deny None;Persist Security Info=True';

И это все.

Самое интересное во всей это строке – секция ‘Extended Properties’.

Чтобы знать, что конкретно для разных форматов надо писать в Extended properties, загляните в реестр Windows на следующую ветку:

HKEY_LOCAL_MACHINESoftwareMicrosoftJet4.0ISAM Formats

Там перечислены все поддерживаемые в данном случае форматы.

После опытов над форматом dbf оказалось, что все выше сказанное для формата mdb совершенно не относится к этому формату – и все требования про первую форму можно и не соблюдать! В общем, загадка природы.

А вот формат Paradox - это оказалась песня на меньшая, чем mdb. И вот почему – здесь все требования о первой форме таблицы в действии, но ведь мы не можем создавать таблицу, потом говорить пользователю ‘Слышь, мужик, а теперь метнулся, запустил Paradox и создал первичный ключ на эту таблицу. А потом нажмешь на ОК и мы продолжим’. Это несерьезно. Стало быть, этот ключ надо создавать нам самим.

Хорошо, запускаем справку по MS Jet SQL и ищем раздел создания индексов или первичных ключей. Находим следующее: 

CREATE INDEX имя_индекса ON название_таблицы (название_поля) WITH PRIMARY.

ALTER TABLE название_таблицы ADD CONSTRAINT имя_ограничения PRIMARY KEY (название_поля)

Все далее сказанное абсолютно одинаково для обоих вариантов.

Предположим, что наша таблица называется ExpTbl.db и поле, на которое мы хотим наложить первичный ключ, называется IntrernalID. Хорошо, подключаемся к таблице и задаем такую строку SQL для исполнения:

CREATE INDEX My_Index ON ExpTable (InternalID) WITH PRIMARY

  Ответить  
 
 автор: час   (17.05.2009 в 17:28)   личное сообщение
 
 

Вот отсюда взял:
http://www.realcoding.net/article/view/144

  Ответить  
 
 автор: Denis   (19.05.2009 в 06:39)   личное сообщение
 
 

Большое спасибо!!!!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList