Показать сообщение отдельно
  #1  
Старый 21.05.2008, 16:22
Stealth Stealth вне форума
Прохожий
 
Регистрация: 21.05.2008
Сообщения: 4
Репутация: 10
Печаль Вопросы по InterBase

Всем бодрое время суток, есть пара вопросов по написанию интерфейса к БД (использую InterBase 6.5) и Делфи 7 соответственно.
Итак, у меня есть созданная БД с 2-я таблицами диалект 3.
Доступ при помощи dbExpress.

Поля первой таблицы:
ID
Фамилия
Имя
Отчество
Дата рождения

Второй таблицы:
ID2
Город

В Делфи вместе с формами создан Data Module имя = dmBase, на котором размещаются компоненты SQLConnection и SQLDataSet

На форме стоит 2 компонента DataSource
Для Table1 имя dsTable1, параметр DataSet = dmBase.sdsTable1 (sdsTable1 - SQLDataSet для Table1)
Для Table2 имя dsTable2, параметр DataSet = dmBase.sdsTable2 (sdsTable2 - SQLDataSet для Table2)


Ставлю компоненту SQLDataSet для работы с 1-ой таблицей параметры:
CommandType = ctQuery
CommandText = select * from Table1
SQLConnection = sqlcBase (TSQLConnection)

В результате после нажатия кнопки Add all Fields вылезает ошибка:
Data type unknown
Client SQL dialect 1 does not support reference to DATE datatype

Со второй таблицей ДатаСет работает, поля вставляются, но возникает другая проблема:
После размещения на форме DBGrid пытаюсь выбрать в его параметре DataSource = dsTable1 или dsTable2 - без разницы что ставить, выдает ошибку - Operation not allowed on a unidirectional dataset.
Вопрос: как можно это поправить?
Понятно, что dbExpress это однонаправленный доступ к базе, но ведь при помощи SQLDataSet можно осуществлять двунаправленый доступ. Где я тут ошибаюсь, подскажите пожалуйста!
Ответить с цитированием