Форум: "Начинающим";
Текущий архив: 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