Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ПОМОГИТЕ! Опять эта "Row cannot be located for updating..." / 7 сообщений из 7, страница 1 из 1
18.06.2003, 05:29
    #32184849
Skleroz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ! Опять эта "Row cannot be located for updating..."
Здравствуйте!
Опять эта набившая оскомину ошибка "Row cannot be located for updating. Some values may have been changed since it was last read" ADO, MDAC 2.7, Delphi 7, .MDB. Ключевое поле - счетчик, полей со значениями по умолчанию нет.
Сама проблема: если в _последней_ добавленной (даже про POSTенной уже) записи изменить одно из логических полей, то ADO теряется и выдает описанную выше ошибку. По CheckBox'ам видно, что значения этих полей NULL'евые... Пока не сделаешь что-нить вроде Requery. После этого они становятся False, и их можно изменять. Получается, что значения по умолчанию все-таки есть! Но я их не вижу!
Есть какие-нибудь предположения?
Заранее спасибо!
...
Рейтинг: 0 / 0
18.06.2003, 08:12
    #32184875
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ! Опять эта "Row cannot be located for updating..."
ОНО сдесь
...
Рейтинг: 0 / 0
19.06.2003, 02:51
    #32186024
Skleroz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ! Опять эта "Row cannot be located for updating..."
Спасибо Королевству Дельфи!
Вот кусок кода из моей программы, если кому нужно :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
procedure ActivateAllTables(Connection: TADOConnection);
var
  i: integer;
begin
  if not Connection.connected then connection.Open;
  with Connection do begin
    for i:= 0  to DataSetCount- 1  do begin
      try
        with DataSets[i] do if not Active then begin
          AfterPost:=SetQueryProperties;
          AfterOpen:=SetQueryProperties;
          Open;
        end;
      except
      end;
    end;
  end;
end;

procedure SetQueryProperties(DataSet: TDataSet);
begin
  if DataSet is TADOQuery then with (DataSet as TAdoQuery) do begin
    Properties['Update Criteria'].Value:= adCriteriaKey;
    Properties['Update Resync'].Value:= adResyncAutoIncrement + adResyncInserts;
  end;
end;
...
Рейтинг: 0 / 0
19.06.2003, 07:41
    #32186057
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ! Опять эта "Row cannot be located for updating..."
А я что вам советовал? То же самое - только тут еще установка этих свойств для всех DataSet'ов - что вообще говоря далеко не всегда нужно
...
Рейтинг: 0 / 0
21.06.2003, 03:09
    #32187911
Skleroz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ! Опять эта "Row cannot be located for updating..."
Там ответ раньше пришел... но все равно спасибо за ссылочку... почитаем...
...
Рейтинг: 0 / 0
21.06.2003, 11:32
    #32188094
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ! Опять эта "Row cannot be located for updating..."
Есть еще такой компонетик TbetterADODataSet
Там все ще приятней, код присать не нужно.
В поисковиках думаю найти не сложно
...
Рейтинг: 0 / 0
11.11.2003, 12:26
    #32319936
avec
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ! Опять эта "Row cannot be located for updating..."
Вот эту строчку я не понял

AfterPost:=SetQueryProperties

И компилятор тоже ее не просек:

[Error] MainUnit.pas(2431): Incompatible types: 'method pointer and regular procedure'

Объясните, плз
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ПОМОГИТЕ! Опять эта "Row cannot be located for updating..." / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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