Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.01;
Скачать: CL | DM;

Вниз

Использование GetCurrentRecord   Найти похожие ветки 

 
Patrick ©   (2003-04-11 10:24) [0]

Небольшой вопрос: У компонента TDataSet есть метод GetCurrentRecord, который помещает значения полей текущей записи в буфер, но только я не нашел ничего того, что делает обратное, т.е. из буфера в поля записи.


 
sniknik ©   (2003-04-11 10:35) [1]

исходники для TDataSet.GetCurrentRecord "метода" выглядят так
function TDataSet.GetCurrentRecord(Buffer: PChar): Boolean;
begin
Result := False;
end;


обратный метод можеш написать сам, это несложно :о))).


 
Жук ©   (2003-04-11 10:46) [2]

Уважаемый Patrick ! Скажите, если не секрет, смысл перестановок записей в НД, плз.


 
Patrick ©   (2003-04-11 11:00) [3]

Смысл таков: Всё это мне нужно для визуального представления данных на экране, посредством TDBGrid"а, т.е. пользователю требуется перемещать записи относительно друг друга, и весь смысл заключается в том, чтобы при этом не делать сброс данных в базу. Конечно это можно делать через другую компоненту представления данных, но грид как-то более адаптирован, если посоветуете что-то еще буду весьма благодарен. По поводу предложенного Вами метода, он не хочет сбрасывать в НД данные типа varCurrency, и я пытался искать что-нибудь другое. Заводить кучу временных переменных тоже не хочется.
Очень интересный исходник GetCurrentRecord, он что постоянно возпращает False и всё. Хотя может я что-то не понимаю?


 
sniknik ©   (2003-04-11 11:10) [4]

> Очень интересный исходник GetCurrentRecord, он что постоянно возпращает False и всё. Хотя может я что-то не понимаю?

именно ничего не делает (в хелпе так и написано), и заметь в TADODataSet и TCustomADODataSet этот метод не перегружается. Похоже рабочий только для BDE (native драйвера).
вот его метод (разницу видиш? ;о)))

function TBDEDataSet.GetCurrentRecord(Buffer: PChar): Boolean;
begin
if not IsEmpty and (GetBookmarkFlag(ActiveBuffer) = bfCurrent) then
begin
UpdateCursorPos;
Result := (DbiGetRecord(FHandle, dbiNoLock, Buffer, nil) = DBIERR_NONE);
end else
Result := False;
end;


 
sniknik ©   (2003-04-11 11:13) [5]

кстати насчет смысла (жизни и вообще :о))
> для визуального представления данных на экране

попробуй использовать индексы и сортировки (как и все порядочные программисты :-))


 
Patrick ©   (2003-04-11 11:27) [6]

с сортировками и индексами все понятно, и безусловно поступать (по всем правилам) нужно было именно так, но только одно но, что данный DataSet, это Query от хранимой процедуры с MSSQL, поэтому данные вещи здесь вроде как неуместны.


 
sniknik ©   (2003-04-11 11:52) [7]

> данные вещи здесь вроде как неуместны.

еще как уместны, используй ADOQuery.Sort (сортирует уже полученный датасет на локале)

(Query значит BDE? для доступа к MSSQL? - отстой полный. BDE он для своих драйверов только хорош (парадокс,...))

информация к размышлению (из файла ридми BDE)
Fully certified drivers:
ACCESS (Microsoft 3.40-Access 95 and 97)
FOXPRO (Microsoft 3.40)
MSSQL Server (Microsoft 3.00-Server version 6.5)
MSSQL Server (Intersolv 3.01-Server version 6.5)
ORACLE 7 (Intersolv 3.01-Server version 7.3)
и большего не будет, BDE больше не развивается.


 
sniknik ©   (2003-04-11 11:59) [8]

о позор на мои седые %№?я :о))
инфа немного не точна, (там есть еще более поздний список от последнего апдейта) но смысла это не меняет

Fully certified drivers:
ACCESS (Microsoft 3.51-Access 95 and 97)
FOXPRO (Microsoft 3.51)
MSSQL Server (Microsoft 3.6
- Server version 6.5 and 7.0)
MSSQL Server (Intersolv 3.11
- Server version 6.5 and 7.0)
ORACLE7 (Intersolv 3.11
- Server version 7.3)


 
Anatoly Podgoretsky ©   (2003-04-11 12:13) [9]

sniknik © (11.04.03 11:13)

упорядоченные программисты :-))



Страницы: 1 вся ветка

Текущий архив: 2003.05.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
14-702
Карлсон
2003-04-11 21:16
2003.05.01
Исикава Токубоку


3-483
Sliften
2003-04-12 04:09
2003.05.01
Есть Две Таблицы(DBF) и SQL как их обьеденить в DBGrid


14-724
WhiteSnow
2003-04-13 18:08
2003.05.01
МНК


14-728
Gonzalez
2003-04-13 19:10
2003.05.01
Кодировка


1-623
anbezr
2003-04-19 10:56
2003.05.01
Параметр для TypeInfo