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

Вниз

работа с базой данных Access   Найти похожие ветки 

 
Lewka ©   (2007-04-19 12:28) [0]

Я подключил базу данных Access через ADO и при работе в программе при удалении строки с помощью DBNavigator мне выдается сообщение
с текстом:"Слишком сложный запрос". В базе Используется всего одна таблица. Подскажите Чего я упустил при создании приложения.


 
sniknik ©   (2007-04-19 13:11) [1]

http://delphimaster.net/view/2-1176965523/
почитай. и главное попробуй ответить автору, не отвечай, а просто составь ответ. получилось?

а твоя манера задания вопроса не многим лучше... ну вот чего тебе сказать на "чего ты упустил при создании приложения" если ни самого твоего приложения, ни описания по которому его можно представить, никто в глаза е видел?
и к чему сообщение "Слишком сложный запрос" если самого запроса нет, и вообще неясно используется ли "запросный" компонент или adotable который уже устали предупреждать, чтобы не использовали...
зачем указание, что таблица одна (что в общем то всем параллельно), а структура таблицы от которой чтото может зависеть скрывается...

p.s. верно заданный вопрос это половина ответа. © расказ Шекли вроде бы.


 
Ega23 ©   (2007-04-19 14:10) [2]


> p.s. верно заданный вопрос это половина ответа. © расказ
> Шекли вроде бы.
>


я бы сказал 90%. Больше половины случаев, когда я писал вопрос на форум, во время написания находил ответ. Или через 5 минут после отправки.
Т.к. пока грамотно пишешь вопрос, появляется масса мыслей. А вот если таких мыслей не появляется, то таки да, надо метлу в руки брать и в дворники идти.

З.Ы. sniknik © Чё-то тебя сильно разобрало... Хотя оно понятно: скоро сессия, двоечников как обычно на форуме полно. Идиотизьм растёть...  :)


 
lewka ©   (2007-04-19 15:18) [3]

Ситуация такая: программа работает с базой Access и имеет компонетны: DBGrid,ADOConnector,ADOTable, DBNavigator. И при удалении строки с помощью DBNavigator страз же выдает сообщение :"Слишком сложный запрос". Хотя в программе нет вообще запросов. и Query  не использую, просто надо из программы удалять строки в таблице.


 
Ega23 ©   (2007-04-19 16:04) [4]


> Ситуация такая: программа работает с базой Access и имеет
> компонетны: DBGrid,ADOConnector,ADOTable, DBNavigator. И
> при удалении строки с помощью DBNavigator страз же выдает
> сообщение :"Слишком сложный запрос". Хотя в программе нет
> вообще запросов. и Query  не использую, просто надо из программы
> удалять строки в таблице.


Информации недостаточно.
Попробуй ответить на мой вопрос:

Программа работает с базо MSSQL через ADO и имеет компоненты ADOConnection, ADODataSet, DBGrid и кнопку. При удалении строки с помощью кнопки вылетает сообщение AccessViolation in module ....


 
sniknik ©   (2007-04-19 16:25) [5]

> Хотя в программе нет вообще запросов
это тебе так кажется, ADO в любом случае использует запросы, даже для ADOTable (который нужно ВЫКИНУТЬ (уже прямым текстом, не до намеков...)).

при удалении тоже посылается запрос... как он формируется (будет ли правильным/понятным jet) зависит от названия таблицы и структуры. (из какой таблицы удалять, по каким полям составлять условие)... возьми доступные компоненту данные и попробуй составить запрос сам, уверен этого не получится (даже если б ты мог, знал SQL), чегото будет не так, чегото будет нехватать/ошибочно.

> просто надо из программы удалять строки в таблице.
- девушка да у вас же счетчик бензина на нуле.
- да мне не надо чтобы счетчик работал, просто чтобы машина ехала.
© типа анекдот, от ремонтников по вызову.


 
Sergey13 ©   (2007-04-19 16:27) [6]

> [3] lewka ©   (19.04.07 15:18)

Ключевое поле в таблице есть?


 
sniknik ©   (2007-04-19 16:34) [7]

> Ключевое поле в таблице есть?
думаешь он знает что это такое? :)

скорее всего ключа нет, но ошибка не изза этого имхо.
ADO может составить условие уникальности записи на удаление и без ключа, не всегда выходит правда, но тогда бы ошибка была бы другой. (чтото насчет множественности записей попадающих под обновление) и оно бы работало, выдавало бы ошибку но записи бы тоже удаляло.


 
Робинзон   (2007-04-20 09:36) [8]

Еслия правильно понял в навигаторе не работает удаление. Тогда в чем проблема поставь кнопку DelButton и в событии Click напиши следующий код if Application.MessageBox(PChar("Вы действительно хотите удалить "+DataModule1.ADOTableDSDesigner.AsString), "Внимание!!!", MB_OKCANCEL)=id_OK then
 DataModule1.ADOTable.Delete;
end;


 
ЮЮ ©   (2007-04-20 09:54) [9]

> ADO может составить условие уникальности записи на удаление и без ключа

и получить "Слишком сложный запрос", ибо полей там, явно, немеряно, коль таблица в базе только одна, а поля большкй частью символьные (по той же причене) . Однако, имея ключ, трудно составить "Слишком сложный запрос"


 
Amoeba ©   (2007-04-20 10:44) [10]


> Робинзон   (20.04.07 09:36) [8]
>
> Еслия правильно понял в навигаторе не работает удаление.
>  Тогда в чем проблема поставь кнопку DelButton и в событии
> Click напиши следующий код if Application.MessageBox(PChar("Вы
> действительно хотите удалить "+DataModule1.ADOTableDSDesigner.
> AsString), "Внимание!!!", MB_OKCANCEL)=id_OK then
>  DataModule1.ADOTable.Delete;
> end;
>

И чем принципиально этот код отличается от того, который выполняется при нажатии на соответствующую кнопку навигатора?



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

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

Наверх




Память: 0.5 MB
Время: 0.053 c
15-1175683320
data
2007-04-04 14:42
2007.05.13
нужен человек для доработки сайта


2-1177065316
Ezorcist
2007-04-20 14:35
2007.05.13
Вопрос по работе с xml-файлом.


15-1176304508
@!!ex
2007-04-11 19:15
2007.05.13
Нужно мнение по редактору графов.


2-1177482554
pathfinder
2007-04-25 10:29
2007.05.13
Перекрытие метода..


6-1163088101
Суслик
2006-11-09 19:01
2007.05.13
Создание HTTP сервара на дельфи