![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что за Ошибка [D6, D7, MDB]
Sherbacov © (2003-04-09 17:54:00)-!Внимание Ошибка!- 09.04.03 17:47:13 Row cannot be located for updating. Some values may have been changed since it was last read
Код:
while not db1.temp.Eof(ADO TABLE) do
begin
DB1.sheta.First;
while not DB1.sheta.Eof(ADO TABLE) do
begin
if DB1.tempchet.Value = db1.shetaChet.Value then
begin
DB1.temp.Edit;
DB1.tempEnable.Value := 1;
DB1.temp.Post;-Ошибка происходит тут действий Onpost нет и других.
end;
DB1.sheta.Next;
end;
DB1.temp.Next;
end;
Структура DB1.temp
Id - счетчик (ключ)
Klientno -числовой
Fio -текстовой (255)
Chet - текстовой (20)
Summ - денежный
Enable - числовой
Структура DB1.sheta.Next
Аналогично
Sherbacov (2003-04-10 23:24:00) [1]>sniknik Я и не думал оскорблять, просто уже надоели с SQL. Везде к где можно и нельзя добавляют. Я за золотую серединку.
Про sleep я подумаю.
sniknik (2003-04-10 17:03:00) [2]Sherbacov © (10.04.03 15:56)
во первых я нигде не утверждал, что я "крутой" программер (я профи раз за это деньги платят, разница!)
во вторых нет нигде правила что нельзя еше один компонент использовать (ADOCommand) если уже положил туда другой (ADOTable).
в третьих "локально" для ADO это заблуждение (в большинстве случаев) т.к. движок того же jet-а к примеру работает как своеобразный клиент-сервер, а таблица то же самое что SELECT * FROM TableName. (но вообще конечно от провайдера зависит, VFP драйвер к примеру открывает и "держит" таблицу (удалить после селекта не удастся))
в четвертых, да раз хочется используй! запретов тоже нет
bol: boolean;
while not db1.temp.Eof(ADO TABLE) do begin
DB1.sheta.First;
bol:= true;
while (not DB1.sheta.Eof(ADO TABLE)) and (bol) do begin
if DB1.tempchet.Value = db1.shetaChet.Value then begin
DB1.temp.Edit;
DB1.tempEnable.Value := 1;
DB1.temp.Post;
bol:= false;
end;
DB1.sheta.Next;
end;
DB1.temp.Next;
end;
заодно и побыстрее будет. (или у тебя и так скорость на максимуме? про sleep подумай)
Johnmen (2003-04-10 16:28:00) [3]>Sherbacov © (10.04.03 15:56)
Не надо оскорблений. Тем более, что sniknik © сказал тебе дело, притом без наездов. А ты в ответ - слегка пурги...:)
Sherbacov (2003-04-10 15:56:00) [4]sniknik с запросоми быстрее навигация по НД, но локально Table быстрее, тут даже спорить не надо. Каждый компонент для своего назанчения, а пихать запросы везде и говорить что ты крутой программер и хорошо знаешь SQL, я думаю это не логично.
sniknik (2003-04-09 22:29:00) [5]да брось ты. быстрее, - видно насколько, цикл в цикле специально чтобы не мелькало? чтобы хоть чуть задержку сделать? так ты там sleep поставь для солидности. ;о)) придать весу "вычислениям".
(поставь у ADOCommand-а с этим запросом асинхронное выполнение и запрос для программы продлится долю секунды на любыхразмерах таблиц)
Sherbacov (2003-04-09 18:45:00) [6]В моей ситуации ADOTABLE будет быстрее
sniknik (2003-04-09 18:36:00) [7]и это все вместо простого запроса!!??
UPDATE temp, sheta SET temp.Enable=1 WHERE temp.Chet=sheta.Chet
и чего люди SQL не любят?
Sherbacov (2003-04-09 18:12:00) [8]db1.temp.CanModify = true
Zz_ (2003-04-09 18:01:00) [9]Properties["Update Criteria"] чему равны
Johnmen (2003-04-09 18:01:00) [10]Степень релевантности - 3-4 раза в неделю...:)