Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Вниз

Про редактирования ячеек   Найти похожие ветки 

 
IGORYOK   (2003-10-30 19:20) [0]

Написал такое ( вообще надо просто изменить значение в одном поле - не пойму чего столько проблем)
Поле это булен. Использую ADO. Базу mdb.
with DMOd.ListStudT do begin
RecNo:=1;
Edit; //написал режим редактирования
for i:=1 to DMod.ListStudT.RecordCount do begin
if DMod.ListStudTGroupYear.AsInteger=YearScrol.Position then DMod.ListStudTUchatsa.AsBoolean:=True;
RecNo:=RecNo+1;
end;
Post; // может после редактировани не надо постить, а что тогда надо делать
end;


 
Mike Kouzmine   (2003-10-30 19:25) [1]

IGORYOK © (30.10.03 19:20) И что - работает?


 
IGORYOK   (2003-10-30 19:35) [2]

Ну если б работало я бы сюда не посылал у меня вопрос надо ли пост использовать при edit e


 
Mike Kouzmine   (2003-10-30 19:36) [3]

Я про другое. А что не правильно делает?


 
Zacho   (2003-10-30 19:45) [4]


> IGORYOK © (30.10.03 19:20)

А вот как делать правильно:

DataSet.First;
while not DataSet.EOF do
begin
if .. then
begin
DataSet.Edit;
... // Редактирование полей текущей записи набора данных
DataSet.Post;
end;
DataSet.Next;
end;


 
AbrosimovA   (2003-10-31 08:20) [5]

Перед DataSet.Next не нужно писать DataSet.Post, так как в режиме редактирования Next кроме перемещения на следующую запись аналогичен ещё и Post.


 
Anatoly Podgoretsky   (2003-10-31 10:12) [6]

AbrosimovA (31.10.03 08:20) [5]
А потом будем спрашивать куда делисб изменения в последней записи?


 
sniknik   (2003-10-31 10:27) [7]

Anatoly Podgoretsky © (31.10.03 10:12) [6]
а лишний вызов процедуры в немаленьком (возможно) цикле, это правильно?
делаю обычно так (на правильность в единственном варианте не претендую ;о))

DataSet.First;
while not DataSet.EOF do begin
if .. then begin
DataSet.Edit;
... // Редактирование полей текущей записи набора данных
end;
DataSet.Next;
end;
if (DataSet.State=dsEdit) or (DataSet.State=dsInsert) then DataSet.Post;


 
Johnmen   (2003-10-31 10:37) [8]

>sniknik © (31.10.03 10:27)

А так красивше
if DataSet.State in dsEditModes then DataSet.Post;
:)


 
AbrosimovA   (2003-10-31 11:55) [9]


> Anatoly Podgoretsky © (31.10.03 10:12) [6]
> AbrosimovA (31.10.03 08:20) [5]
> А потом будем спрашивать куда делисб изменения в последней
> записи?


Вот кусок текста из справки по процедуре Post:

...such as First, Last, Next, and Prior automatically call Post.

И попробуйте опровергнуть это.


 
Vlad   (2003-10-31 12:00) [10]

>AbrosimovA (31.10.03 11:55) [9]
Речь идет о том что будет если Post убрать вобще. Тогда произойдет именно то что сказал Anatoly Podgoretsky © (31.10.03 10:12) [6]


 
Плохиш_   (2003-10-31 12:01) [11]

>AbrosimovA (31.10.03 11:55) [9]

В каком месте здесь стоит Close


 
sniknik   (2003-10-31 12:03) [12]

AbrosimovA (31.10.03 11:55) [9]
а он и не опровергал это, а указал на неточность в твоем дополнении. если следовать твоему уточнению и просто убрать Post из цикла (без дополнительного в конце, про который ты не упомянул) то будут потери на последней записи (не всегда конечно, только в случае выхода на незакрытом датасете, но это неважно, наоборот труднее отследить).



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

Форум: "Базы";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
1-65967
Avsam
2003-11-09 14:42
2003.11.20
Мультиязычный интерфейс


3-65688
andrey__
2003-11-03 14:16
2003.11.20
Вопрос по TClientDataSet


8-66019
Бархатный
2003-07-24 17:39
2003.11.20
Наложить одну картинку на другую


1-65975
amart
2003-11-05 22:56
2003.11.20
Как у компонента создать property типа class of для создания


1-65930
Dimmu
2003-11-11 15:06
2003.11.20
ListBox с разноцветными строками.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский