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

Вниз

работа с базой данных 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.038 c
1-1174029549
kyn66
2007-03-16 10:19
2007.05.13
Заблокировать доступ к родительской ветке ListView


2-1177493618
I-New
2007-04-25 13:33
2007.05.13
Цифровая подпись


2-1176904358
Neket
2007-04-18 17:52
2007.05.13
Как узнать в путь...


2-1177403471
artem.gor
2007-04-24 12:31
2007.05.13
Помогите написать процедуры


2-1177434404
wolchonok29
2007-04-24 21:06
2007.05.13
Скрытие процесса, либо установка его критическим





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