Форум: "Базы";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
ВнизПодключение к Oracle и выборке данных... Найти похожие ветки
← →
vigo (2005-07-14 15:40) [0]Добрый день!
Пытаюсь извлечь данные из таблицы, например, CLIENT схемы Invo. Указываю все это в параметра компонента TSQLTable, но "активируя" таблицу (Active := True) ругается: "ORA-00942: таблица или представление пользователя не существует". Причем TableName выбираю из списка...
И второй вопрос: какой компонент использовать для отображения данных таблицы (что-то вроде TDataSource и TDBGrid для локальных БД)?
← →
Reindeer Moss Eater © (2005-07-14 16:05) [1]Либо таблицы действительно нет в схеме, либо она создана с чувствительным к регистру именем.
← →
vigo (2005-07-14 16:17) [2]А по поводу второго вопроса?
← →
Val © (2005-07-14 16:19) [3]по вашему - есть разница для сетки, например?
← →
vigo (2005-07-14 16:30) [4]Использую TDBGrid и в параметрах TDataSource указываю DataSet: TSQLTable, - пишет ошибку: "Operation not allowed on a unidirectional dataset".
← →
Val © (2005-07-14 16:36) [5]1. прочитайте что такое "unidirectional dataset" и соотв. ограничения.
2. замените TSQLTable на что-то квериподобное, если эта штуковина некий аналог TTable - c SQL серверами не работают через него - тащит всю таблицу на клиента - не надо этого.
← →
ANB © (2005-07-14 16:36) [6]
> vigo (14.07.05 16:30) [4]
так выключи unidirectional. У тебе включен однонаправленный курсор. А грид с таким не работает.
← →
ANB © (2005-07-14 16:38) [7]По сабжу : попробуй явно указать в запросе схему. Типа Invo.Client.
← →
vigo (2005-07-14 16:50) [8]"так выключи unidirectional"
А как?
(я с этим не сталкивался...)
← →
ANB © (2005-07-14 16:53) [9]
> vigo (14.07.05 16:50) [8]
- а ты чем коннектишься к оракле ?
← →
ANB © (2005-07-14 16:56) [10]Похоже, dbExpess. Там не знаю. У тебя запрос открылся ?
← →
Reindeer Moss Eater © (2005-07-14 17:05) [11]IsUniDirectional indicates whether the dataset is a descendant of TCustomSQLDataSet.
То есть его не отключить.
← →
vigo (2005-07-14 17:21) [12]Описываю от начала до конца:
На форму положил компонент SQLConnection, настроил.
Положил TButton, TSQLTable, TDataSource, TDBGrid.procedure TForm1.Button1Click(Sender: TObject);
begin
try
SQLConnection.Connected := True;
SQLConnection.Open;
except
on E: Exception do ShowMessage(E.Message);
end;
SQLTable.SchemaName := "INVO";
SQLTable.TableName := "CLIENT";
SQLTable.Active := True;
end;
Запускаю, нажимаю button и на строке SQLTable.Active := True возникает except, если SQLTable, грубо говоря, "отвязать" от DBGrid"a, то никакого except"a не возникает.
Я подумал, что unidirectional это свойство компонента, но найти не удалось.
← →
vigo (2005-07-14 17:24) [13]то есть
SQLTable.IsUniDirectional := False;
ошибка при компиляции...
[Error] Unit1.pas(85): Cannot assign to a read-only property
← →
Reindeer Moss Eater © (2005-07-14 17:26) [14]Все верно.
← →
ANB © (2005-07-14 17:29) [15]
> vigo (14.07.05 17:24) [13]
- значится, тебе не повезло. Смени компоненты.
← →
vigo (2005-07-14 17:33) [16]
> значится, тебе не повезло. Смени компоненты
:-)
Ну так я с самого начала и спросил: какие компоненты использовать для отображения данных таблицы...
← →
Reindeer Moss Eater © (2005-07-14 17:33) [17]Мне помнится, что в dbExpress для того, что бы поиметь датасет в гриде надо было прикручивать их ClientDataSet к однонаправленному потомку TCustomSQLDataSet.
← →
Reindeer Moss Eater © (2005-07-14 17:35) [18]Ну так я с самого начала и спросил: какие компоненты использовать для отображения данных таблицы...
не для отображения данных, а для доступа к данным.
Потому что грид прекрасно отображает данные.
← →
Desdechado © (2005-07-14 19:47) [19]Все наборы данных в dbExpress однонаправленные и это правильно.
Хочешь навигации, прикручивай прослойку.
http://delphimaster.net/view/3-1121350756/
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.037 c