|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Жуткая проблема с запросом!!
Есть DBGrid,подключена к DataSource1.Query1 тоже подключена к DataSource1.Все идет хорошо,запрос обрабатывается.Но,форма для редактирования,которая обращается к тому же DataSource1 не позволяет редактировать данные DBGrid.Что делаааааааать????!Подскажите,как все организовать правильно!
|
#2
|
||||
|
||||
Если Вы для доступа к данным используете Query, то Вам необходимо знать, что представления могут быть модифицируемыми и позволяющие только чтение данных. Для того что бы представление было модифицируемое нужно соблюсти несколько условий.
1.Нельзя использовать в SELECT операторы DISTINCT, HAVING и соединения таблиц. 2.Запрос не должен содержать агрегатных функций. Если короче, то запрос должен обращаться к одной таблице без DISTINCT, GROUP BY, HAVING и всяких там AVG, SUM и т. д. From VasYa with LoVe... |
#3
|
|||
|
|||
Если надо редактировать выборку лучше использовать Table, а не Query. Использовать вместо SQL запроса фильтры. Скорость конечно будет поменьше.
Если редактировать результаты SQL запроса в DBGrid-е необходимо то лучше использовать DataSet. С ADO это срабатывает, а вот с BDE не знаю. Статья как раз об этом. http://www.delphikingdom.com/asp/vie...?catalogid=420 А вообще обычно делают выборку через Query, а редактируют уже через Table. Например в DBGrid при двойном щелчке на записи, которую необходимо редактировать открываем форму для редактирования (карточку), где DB контролы уже подключены к соответствующим таблицам. Переход на нужную запись в таблице, Код:
Table1.Locate('id',Query1.fieldbyname('id').asstring,[]); |
#4
|
||||
|
||||
Хммм...не получается.Я добавила еще один DataSource-DataSource2.Первый DataSource1 я подключила к таблице,2ой к Квери,DBGrid1 к DataSource2.Также прописала строку на кнопку к форме редактирования,а именно: form17.DBGrid1.DataSource:=form17.datasource1;
Теперь получается: запрос по поиску работает, редактирование происходит.НО!!!!После редактирования таблицы,уже нет возможности совершать поиск, а также редактирование происходит не по найденному полю,а по 1ой записи таблицы.Что делать???Что не тааак????Я просто уже не приложу ума,что делать?????? |
#5
|
||||
|
||||
хммм...не соображу..Сорри..мой уровень знания Делфи весьма низок..Можно пороще?прямо на пальцах,если есть терпение
Есть одна таблица Table1.В ней содержатся фамилии,даты,диагнозы.Необходимо сделать запрос так,чтобы диагнозы одинаковые группировались,производился подсчет количества диагнозов в каждой группе и результат выводился в виде таблицы в Эксель... Последний раз редактировалось killpretty, 01.06.2008 в 22:04. Причина: удалить,удалить! |
#6
|
||||
|
||||
хммм...не соображу..Сорри..мой уровень знания Делфи весьма низок..Можно попроще?прямо на пальцах,если есть терпение
Есть одна таблица Table1.В ней содержатся фамилии,даты,диагнозы.Необходимо сделать запрос так,чтобы диагнозы одинаковые группировались,производился подсчет количества диагнозов в каждой группе и результат выводился в виде таблицы в Эксель... Последний раз редактировалось killpretty, 01.06.2008 в 21:59. Причина: удалить!!!!! |