Текущий архив: 2003.03.03;
Скачать: CL | DM;
ВнизИспользование CommandText в ClientDataSet Найти похожие ветки
← →
Xjedy (2003-02-13 12:07) [0]Вопросик такой, делаю локальную базу с использованием ClientDataSet, данные хранятся в XML. Теперь, допустим мне надо отобрать часть этих данных, ну и вполне логично использовать для этого CommandText. Только вот это свойство ClientDataSet"ом полностью игнорируется. Т.е я могу там написать что угодно, хоть "добрый день". Причина в том, что база локальная? Можно конечно скажем перебирать все записи, и проверять значения, но SQL-запрос гораздо более логичен. Посоветуйте что-нибудь пожалуйста.
← →
Соловьев (2003-02-13 12:18) [1]у провадера Option :
oAllowCommandText Enables the client to override the provider’s dataset by replacing its associated SQL text or the name of its stored procedure or table. These overrides are supplied to the GetRecords or Execute method.
← →
Xjedy (2003-02-13 12:40) [2]Я без провайдера работаю. Уточняю - использую TClientDataSet, в свойстве FileName указывается конкретный .XML файл. А Вы, если я правильно вас понял, предлагаете следующую архитектуру:
XML -> DataSet(какой?) -> Провайдер -> Connection(DCOM?) -> ClientDataSet -> DataSource.
← →
Соловьев (2003-02-13 12:43) [3]Если на одной машине, Connection(DCOM?) не нужен,
а вот какой DataSet работает с XML я не знаю.
схема такая:
XML -> DataSet(какой?) -> Провайдер -> ClientDataSet -> DataSource
← →
Romkin (2003-02-13 12:58) [4]в CommandText пишется запрос, передаваемый провайдеру. Насколько я понимаю, в вашем случае TClientDataSet используется просто как таблица в памяти, с возможностью сохранения в файле.
В этом случае, естественно, никакого SQL - все ручками, работая с датасетами.
← →
Xjedy (2003-02-13 13:27) [5]Хмм...
Из датасетов с XML работает TClientDataSet. Тогда получается:
XML -> TClientDataSet -> TDataSetProvider([poAllowCommandText]) -> TClientDataSet(CommandText="lalala") -> TDataSoutce
Но все равно не работает :(((
← →
Соловьев (2003-02-13 13:38) [6]TClientDataSet(CommandText="lalala") :)))))))))
А так :
TClientDataSet(CommandText="select * from table where field="alala")
← →
Romkin (2003-02-13 13:39) [7]И не будет. Кто тебе сказал, что TClientDataSet поддерживает SQL?
← →
Xjedy (2003-02-13 13:53) [8]2Соловьев:
Ну я к примеру написал, не надо так уж буквально :)
2Romkin:
Ну да, теперь все стало более ле менее ясно...
Т.е мне в связке
XML -> TClientDataSet, TClientDataSet нужно поменять на нечто, работающее с XML и поддерживающее SQL, так? А такие варианты существуют, или не стоит заморачиваться, а все делать ручками?
← →
Romkin (2003-02-13 14:08) [9]В принципе, MSSQL работает с XML...
Разумеется, можно просто сделать трехзвенку с сохранением результатов в xml - работа будет идти с сервером БД, а xml при желании и сервер приложений выдавать может
Но если у тебя один пользователь - заморачиватся действительно не стоит, ручками тоже довольно быстро.
← →
Xjedy (2003-02-13 14:10) [10]Спасибо.
Страницы: 1 вся ветка
Текущий архив: 2003.03.03;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.008 c