powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с ADODataSet в C++Builder
6 сообщений из 31, страница 2 из 2
Работа с ADODataSet в C++Builder
    #32729193
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в этом случае никак , потомучто грубо говоря такого поля нету ...
да и не в этом даже дело .
ты сам подумай как будут изменятся данные , ( запроом ) ?!



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Работа с ADODataSet в C++Builder
    #32730970
Philin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да дело совсем не в этом... Возможно у меня не правильный подход. Я на билдер с фоксы перешел. И привык необходимые мне поля получать запросом.
Например, мне нужно какое-нибудь поле - я пишу:
SELECT 0 as vkl
Еще раз повторюсь, все перечисленные мною примеры очень сильно упрощены. Я понимаю, что есть море способов обходить проблему с ADODataSet в каждом случае отдельно.
НО, мне кажется, что если я создаю какое-то поле - ничто не может запрещать его редактирование. И поэтому, наверняка, есть какой-то способ заставить ADODataSet делать то, что мне нужно.
...
Рейтинг: 0 / 0
Работа с ADODataSet в C++Builder
    #32731595
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну еще и смотря какая у вас СУБД
...
Рейтинг: 0 / 0
Работа с ADODataSet в C++Builder
    #32735208
Philin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СУБД у меня MS SQL2000.

И вот у меня теперь в связи с тем, что ADODataSet не позволяет менять поля возникла проблема и пока не знаю даже как обойти:
Хранимая процедура проделывает некоторые вычисления и после чего возвращает курсор (кол-во возвращаемых полей мне не известно, до тех пор, пока процедура не отработает).
Весь текст хранимой прцедуры приводить не буду, да это я думаю и не надо.
Вот последний ее кусок:
[SRC с++]
SET @Query = 'SELECT LED.id_ LEDid,w.LWST,w.LWFT,w.UMST,w.LTWFT,w.Cost,'+
'sum(isnull(convert(numeric(10,4),round(t.Volume,4)),0))*w.Cycles CommonVol'+
@Query+
' INTO #FinTbl' +
' FROM #RetTbl t' +
' LEFT JOIN ListRoadParts LRP ON LRP.id_=t.LRPid'+
' LEFT JOIN ListRoads LR ON LR.id_=LRP.NumRoad' +
' LEFT JOIN ListDistricts LD ON LD.id_=LR.NumDistrict' +
' LEFT JOIN ConnectEDistrictsDistricts CEDD ON LR.NumDistrict=CEDD.District' +
' LEFT JOIN ListEconomDistricts LED ON CEDD.EconomDistrict=LED.id_' +
' LEFT JOIN ListDataSources LDS ON LDS.id_=LRP.NumDataSource' +
' LEFT JOIN #WorkPrices w ON w.NumWork=t.NumWork and LED.id_=w.NumEDistrict'+
' GROUP BY LED.id_,w.LWST,w.LWFT,w.UMST,w.LTWFT,w.Cost,w.Cycles'+
' ORDER BY LED.id_,w.LTWFT,w.LWST,w.LWFT'

-- Выходной запрос
EXEC (@Query)
[/src]Мне хранить резудьтат запроса в базе не надо (да и не совсем понятно как это делать).
Но пользователю надо, чтобы он мог кое-что менять в этом курсоре, после чего значения некоторых из полей пересчитываются.
На клиенте я изменять поля не могу, а мне это надо...
Что делать?
...
Рейтинг: 0 / 0
Работа с ADODataSet в C++Builder
    #32735752
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вызывать какую-то процедуру на сервере при изменении данных пользователем, передавая эти данные, потом пересчитывать данные и перечитывать их заново на клиента.
Короче, все переписывать.
...
Рейтинг: 0 / 0
Работа с ADODataSet в C++Builder
    #32737480
Philin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не сказал бы что данная процедура быстро работает...
Впрочем, проблему я решил дублированием полей, которых нужно было изменять.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с ADODataSet в C++Builder
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]