Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ?? / 13 сообщений из 13, страница 1 из 1
20.11.2002, 20:50:55
    #32070437
NAV
NAV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
Всем привет!

Мелочи позади в проекте, начинается самое главное. Чтение данных из базы в таблицы и другие элементы формы.

Начальное условие - использование ADOConnection.
Исходя из этого подскажите, пожалуйста: какие компоненты мне необходимы для работы?? Для некоторых целей я УЖЕ использую ADOQuery. Может, этого элемента в связке с обычными контролами (ну, и ADOConnection, естественно) достаточно, чтобы читать и писать в базу через обычные (не DB-) элементы формы или же нужно обязательно добавить ADOTable, ADODataSet´s плюс к этому - DBGrid и ему подобное ??

Компонент так много, что голова идет кругом... Но не хочется на форму совать все подряд, хочется обойтись минимумом компонент, но чтобы при этом не пришлось слишком много кодить..
...
Рейтинг: 0 / 0
20.11.2002, 23:27:32
    #32070472
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
DBGrid, ADOCommand, ADODataset
...
Рейтинг: 0 / 0
20.11.2002, 23:43:01
    #32070475
AISOFT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
Если проектом предусматривается многопользовательский доступ к обновляемым таблицам, то использование DBGRID вызовет блокировку при обновлении данных, которые читаются (просматриваются) в данный момент.
...
Рейтинг: 0 / 0
21.11.2002, 08:52:35
    #32070528
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
DBGrid - визуальный элемент, он просто отображает использует TDataSource на экране, он не управляет блокировками

Для работы с БД AdoConnection, AdoCommand, AdoQuery, AdoDataSet - AdoTable лучше не использовать

Для отображения - Все что есть в DataControls + все отстальные элементы управления, но для них придется писать код добавления/обновления базы
...
Рейтинг: 0 / 0
21.11.2002, 11:39:59
    #32070638
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
Я юзаю Janus GridEx 2000 - все устраивает
...
Рейтинг: 0 / 0
21.11.2002, 11:57:58
    #32070652
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
Используй что хочешь, только через хранимые процедуры. Тогда все будет хорошо. И поках данных, и добавление, и все остальное.........
...
Рейтинг: 0 / 0
21.11.2002, 12:40:01
    #32070690
AISOFT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
funikovyuri
>DBGrid - визуальный элемент, он просто отображает использует TDataSource на экране, он не управляет блокировками

Ага, только при его использовании нельзя зарыть курсор, и т. д.
...
Рейтинг: 0 / 0
21.11.2002, 12:47:14
    #32070691
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
2tygra: про view ведь тоже забывать не стоит!
2AISOFT: если честно, не сталкивался. Но IMHO по крайней мере смотря с чем связан - если с Table, то ??? НО если с TQuery - интересно что он там блокирует - хотя ...
...
Рейтинг: 0 / 0
21.11.2002, 14:14:31
    #32070762
SuperMuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
То что, если используешь DBGrid, то после изменения данных в нем происходит блокировка это 100%! Я на эти грабли наступал. Не знаю кто блокирует, но это факт. Я избавляюсь от этого припомощи выставления хинтов: WITH(NOLOCK или какой-либо еще). И еще, учтите, что если у вас в гриде отражается запрос соеденерия нескольких таблиц, то при удалении и обновлении будет сделана попытка удалить или обновить все таблицы учавствующие в запросе.
Конечно, в гриде есть св-во, которое отвечает за то чтоб изменялись только измененные данные, но лично я так и не смог его заставить работать. Кста, может у кого-нить это получилось?
...
Рейтинг: 0 / 0
21.11.2002, 14:23:33
    #32070769
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
2SuperMuha: Написалы бы что используете? Явно TTable
...
Рейтинг: 0 / 0
21.11.2002, 14:43:52
    #32070785
Oleg F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
DBGrid никакого отношения к блокировкам не имеет, здесь уже писалось, что это визуальный компонент. Такой же как DBText, DBEdit или DBMemo.
На блокировки влияют те наследники от DataSet, с помощью которых DBGrid чере DataSource работает с данными. Точнее не они сами, а те SQL-запросы, которые они используют. Вставка, удаление или редактирование данных через DBGrid приводит к вызову методов Append, Insert, Edit, Delete, Post компонента-наследника от DataSet. Сам DBGrid ничего делать с данными не умеет, он лишь спользует свойства и методы компонентов DataSource и DataSet.
Иными словами, я хочу подчеркнуть то, что блокировки зависят только от текстов Ваших SQL-запросов, от настроек ADOQuery (или прочих DataSet-компонентов), от использования/неиспользование транзакций и от наличия/отсутствия индексов по ключевым полям в таблицах SQL-cервера (наличие или отсутствие индексов в MS SQL 7.0 влияет на способ блокирования, выбирается или блокирование строки при доступе через индекс или блокирование страницы если индекса нет). Я не знаю, влияют индексы на блокировку или нет в MS SQL 2000, т.к. пока с ним не работал.
...
Рейтинг: 0 / 0
21.11.2002, 15:18:01
    #32070828
SuperMuha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
2funikovyuri, а использую ADOQuery, конечно.
А во-вторых я не говорил, что DBGrid блокирует таблицу, я говорил, что в связке DBGrd+ADOQuery происходит блокировка при исправлении данных. Мне, честно говоря, по барабану кто блокирует данные, я говорю что факт имеет место. А Oleg F прав, в том что:
блокировки зависят только от текстов Ваших SQL-запросов, от настроек ADOQuery (или прочих DataSet-компонентов), от использования/неиспользование транзакций и от наличия/отсутствия индексов по ключевым полям в таблицах SQL-cервера (наличие или отсутствие индексов в MS SQL 7.0 влияет на способ блокирования, выбирается или блокирование строки при доступе через индекс или блокирование страницы если индекса нет) .
Ну и этот вопрос надо обсуждать в форуме по Delphi, IMHO.
...
Рейтинг: 0 / 0
22.11.2002, 02:23:26
    #32071106
NAV
NAV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ??
Добавил я обычный DataSource на форму, в качестве DataSet к которому указал уже существующий и служащий верой и правдой в других функциях ADOQuery (А ТАК МОЖНО ДЕЛАТЬ? :) Можно в качестве DataSet использовать ADOQuery? Если - нет, то почему я МОГУ выбрать ADOQuery в качестве DataSet ? )

В любом случае, я надеялся, что поступив таким образом, я смогу через ADOQuery->SQL->Add('SELECT * from mytable')
c последующим ADOQuery->Open() "заиметь" в своем DataSource результат выборки из mytable. Похоже, ничего такого не произошло. Или же я просто не знаю, как получить извлеченные SELECT´ом данные? Может, тут нужно задействовать parameters ADOQuery?

Хоть убейте, друзья, не понимаю я, зачем на форме множить ТАКУЮ КУЧУ компонент - ADOConnection (если есть более универсальный ADOQuery), ADODataSet (если, казалось бы, можно довольствоваться обычным DataSet, который ADODataSet, кстати, все равно не заменяет)

Объясните, пожалуйста, ЧТО для ЧЕГО! Потому как в хэлпе билдэровском так я толком и не понял, зачем их так много, этих компонент!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Grid или DBGrid?? ADOQuery ONLY или также ADODataSets, etc. ?? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]