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

Вниз

Редактирование данных в таблице Access через ADOQuery   Найти похожие ветки 

 
bss   (2003-12-03 15:12) [0]

Есть соединение с таблицей MS Access ADOConnection. Есть запрос данных из таблицы ADOQuery1.
Пишу ADOQuery1.Edit и хочу начать редактировать запись, но запрос почему-то имеет состояние dsEdit... Проверяю свойство запроса CanModify, все в порядке.

В чем может быть проблема?


 
Плохиш_   (2003-12-03 15:14) [1]


> Есть соединение с таблицей MS Access ADOConnection. Есть
> запрос данных из таблицы ADOQuery1.
> Пишу ADOQuery1.Edit и хочу начать редактировать запись,
> но запрос почему-то имеет состояние dsEdit... Проверяю свойство
> запроса CanModify, все в порядке.
>
> В чем может быть проблема?

Закусывать не пробывал?


 
bss   (2003-12-03 15:27) [2]

На работе не пью...

А вообще-то первый раз сталкиваюсь с такой проблемой...


 
Vlad   (2003-12-03 15:28) [3]


> Закусывать не пробывал?

.... сказал Плохиш_ Светлане :)


> Пишу ADOQuery1.Edit и хочу начать редактировать запись,
> но запрос почему-то имеет состояние dsEdit...

А какое, по вашему мнению, запрос (как вы его называете) должон иметь состояние после AdoQuery.Edit ? :)


 
bss   (2003-12-03 15:33) [4]

Извиняюсь...
Очепаточка вышла... выдал желаемое за действительное...

На самом деле все обстоит так:
Почему-то при команде ADOQuery1.Insert запрос имеет состояние dsInsert, а вот при командеADOQuery1.Edit почему-то остается в состоянии dsBrowse (в предыдущем сообщении очепаточка была) и соответственно запись не редактируется...

В чем дело? Может быть какое-то свойство у ADOQuery неграмотно стоит?


 
Плохиш_   (2003-12-03 15:37) [5]

>bss © (03.12.03 15:33) [4]

Проверь, что делается в OnBeforeEdit, OnAfterEdit.


 
Vlad   (2003-12-03 15:38) [6]


> Очепаточка вышла... выдал желаемое за действительное...

... Сказал Светлана.

Ну да бог с ним.
Ошибка однозначно в 17 строке.


 
bss   (2003-12-03 15:42) [7]

уже в событии BeforeEdit сщстояние запроса dsBrowse.
Странно еще то, что добавление и удаление записей происходит нормально, т.е. он не в readOnly...


 
Vlad   (2003-12-03 15:47) [8]


> BeforeEdit

Edit еще не произошел, потому что Before
Говорю, код людям дай поглядеть, может помогут.
В т.ч. все что у тебя написано в событиях Before\AfterEdit


 
Плохиш_   (2003-12-03 15:49) [9]


> bss © (03.12.03 15:42) [7]
> уже в событии BeforeEdit сщстояние запроса dsBrowse.
> Странно еще то, что добавление и удаление записей происходит
> нормально, т.е. он не в readOnly...


Ну и что ты хотел(а) ;-) оно-же и называется Before


 
Vlad   (2003-12-03 15:49) [10]

И еще как вариант. Твой набор данных - ReadOnly


 
bss   (2003-12-03 15:52) [11]

где это видно, что он readonly и почему тогда записи добавляются?


 
Vlad   (2003-12-03 15:58) [12]


> где это видно, что он readonly и почему тогда записи добавляются?

А где из вашего поста было видно что записи добавляются ?
Может расскажем нормально все-таки ? С примерами кода скажем... (еще один тонкий намек)


 
bss   (2003-12-03 16:04) [13]

Пример прцедуры нажатия на кнопку редактировать:

if DM.qNotRead.CanModify then
begin
DM.qNotRead.Edit;
if DM.qNotRead.State = dsEdit then //здесь запрос в состоянии dsBrowse
DM.qNotRead.FieldByName("HaveRead").AsBoolean := true;
end;
записи не редактируются, а при попытке присвоить полю "HaveRead" значение true вызвается ошибка, что запрос не находится в состоянии dsEdit или dsInsert

Пример прцедуры нажатия на кнопку добавить запись:

if DM.qNotRead.CanModify then
begin
DM.qNotRead.Insert;
if DM.qNotRead.State = dsInsert then //здесь запрос в состоянии dsInsert
DM.qNotRead.FieldByName("HaveRead").AsBoolean := true;
end;
Добавление записи происходит нормально...


 
Плохиш_   (2003-12-03 16:08) [14]

bss © (03.12.03 16:04) [13]

Уже лучше, теперь читаем последнее предложение в

> Vlad © (03.12.03 15:47) [8]


 
Плохиш_   (2003-12-03 16:09) [15]

Кстати, а набор данных у тебя случаем не пустой?


 
bss   (2003-12-03 16:11) [16]

При пустом наборе записей кнопка "Редактировать" запрещена вовсе...

И еще так к слову:
на форме "свои" кнопки редактирования, но при использовании стандартного TDBNavigator было тоже самое...


 
Vlad   (2003-12-03 16:22) [17]


> bss © (03.12.03 16:11) [16]


АЛЁ, КАМЧАТКА ! ЕСТЬ ЧТО НИБУДЬ НА СОБЫТИЯ ВАШЕГО QUREY BEFORE|AFTEREDIT ИЛИ ДАЛЬШЕ МОЛЧАТЬ БУДЕМ КАК ПАРТИЗАНЫ И НЕ ОБРАЩАТЬ ВНИМАНИЯ НА ЗАДАВАЕМЫЕ ВОПРОСЫ ?

Плохиш_ (03.12.03 16:08) [14]
Vlad © (03.12.03 15:47) [8]
Плохиш_ (03.12.03 15:37) [5]
Скока еще раз нужно спросить ?

-----
Извините, если я слишком много от вас хочу...


 
bss   (2003-12-03 16:23) [18]

нет, на эти события никаких моих процедур нет



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

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

Наверх





Память: 0.48 MB
Время: 0.009 c
14-86533
Aga
2003-11-30 12:56
2003.12.26
RegMonitor


1-86353
bober
2003-12-12 14:01
2003.12.26
создание функций в run_time


3-86274
MicroWorld
2003-12-03 11:28
2003.12.26
настройка IB


1-86455
Виталя
2003-12-13 11:51
2003.12.26
Шифрование в Delphi


3-86283
Chaked
2003-12-03 00:24
2003.12.26
Как посчитать количество записей, исключая при этом повторяющиеся





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский