Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2007, 15:55   #1
sysyman
Пользователь Подтвердите свой е-майл
 
Аватар для sysyman
 
Регистрация: 04.07.2007
Сообщений: 75
По умолчанию компонент для базы данных

Подскажите какой-нибудь компонент в виде таблицы чтобы в него можно было загрузить данные из бд и можно было их редактировать в этом компоненте, но чтобы сама база в этот момент не редактировалась.dbgrid не подходит так при редактировании в нем(в частности при переходе на другую стороку) данные изменяются в бд. Свойство lock type в adoquveri ltBatchOptimistic чтобы данные сразу не редактировались тоже не выход.В этом случае возникают другие проблемы.Подошел бы stringrid но он не дает редактировать.Заранее благодарен.
sysyman вне форума Ответить с цитированием
Старый 04.07.2007, 16:53   #2
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Table1.CashedUpdate:=true - данные будут кешироваться...
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 04.07.2007, 17:22   #3
sysyman
Пользователь Подтвердите свой е-майл
 
Аватар для sysyman
 
Регистрация: 04.07.2007
Сообщений: 75
По умолчанию

насчет кэша я написал выше,а точнее настройка lock type в adoquveri ltBatchOptimistic.Кэш не подходит , нужен именно табличный компонент не связанный с бд но чтобы можно было загнать в него (хоть простым перебором) данные,затем спокойно отредактировать их и затем отредактированные данные перегнать обратно в бд. Кэш не подходит по причине что у меня связанные таблицы один ко многим и вслучае кэша я не могу редактировать вторую таблицу пока не будет отредактирована и сохранена главная таблица.А мне надо редактировать сразу две связанные таблицы а затем уже делать сохранение в бд.В общем лучший вариант это использовать компоненты не связанные непосредственно в бд.Может кто знает где можно скачать такой компонент.Сам искал в инете,ничего путевого не нашел.
sysyman вне форума Ответить с цитированием
Старый 04.07.2007, 17:49   #4
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Помоему ты что-то намудрил с таблицами... А можешь поподробнее описать что именно ты делаешь, может есть другое решение данной проблемы. Или хотя бы описать структуру БД.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 04.07.2007, 18:14   #5
sysyman
Пользователь Подтвердите свой е-майл
 
Аватар для sysyman
 
Регистрация: 04.07.2007
Сообщений: 75
По умолчанию

пишу тел справочник. к личным данным одного человека в первой таблице привязана вторая таблица с несколькими разными номерами телефонов. ПО другому проблему решил, все работает но это мягко говоря через задницу, хочется нормально сделать.Пришлось заводить третью таблицу в кот все сохранялось до редоктирования.
sysyman вне форума Ответить с цитированием
Старый 04.07.2007, 18:18   #6
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

А ты не слышал про ключевые поля таблиц... По ним записи в разных таблицах однозначно связываються(например ИД). ИД не меняется и уникально, а данные ты можешь менять как угодно, и связи будут сохраняться однозначно.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 04.07.2007, 18:24   #7
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

ид....... Фио.......Адрес.........и т.д. - запись в первой таблице
^
|
ид.......тел1........Тел2......и т.д. - записи во второй таблице

ИД - ключевое поле.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 05.07.2007, 01:55   #8
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Ну организация базы личное дело каждого... А чем обычный StringGrid не устраивает? По моему это именно то, что тебе нужно. Можно также посмотреть в сторону гридов сторонних разработчиков. В TMS супернавороченный грид есть.
Баламут вне форума Ответить с цитированием
Старый 05.07.2007, 05:27   #9
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Используй компонент TQuery+TUpdateSQL вместо TTable. Он напрямую с БД не связан. В нем, чтобы провести фактическое обновление данных в БД необходимо выполнить отдельный SQL запрос. И не забудь включить кэширование.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.

Последний раз редактировалось Andrei; 05.07.2007 в 07:45. Причина: уточнение набора компонентов
Andrei вне форума Ответить с цитированием
Старый 05.07.2007, 09:50   #10
sysyman
Пользователь Подтвердите свой е-майл
 
Аватар для sysyman
 
Регистрация: 04.07.2007
Сообщений: 75
По умолчанию

d-mon:насчет ключевых полей ,у меня они есть ,без них я даже и не знаю как связать таблицы.

Баламут:Пробывал я стринггриды сторонних разработчиков, но ни в одном не смог найти функции
редактирования непосредственно в компоненте.

Andrei: попробую эти компоненты.

А вобще я применил неправильный подход к решению задачи.Я надумал кое что другое,сегодня буду пробывать. Спасибо всем за помощь.
sysyman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базы данных Valera Помощь студентам 1 13.08.2008 10:38
базы данных Gromsky Помощь студентам 2 03.03.2008 15:45