Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.09.2011, 14:57
Kis Kis вне форума
Новичок
 
Регистрация: 02.09.2011
Сообщения: 76
Репутация: 11
По умолчанию AdoTable

Ребят, хочу сделать так чтобы через Edit можно было бы изменить значение какого-то поля, допустим Таб№, но это значение не изменилось в самой базе данных, а только в таблице. Можно ли так сделать или изменения в базе будут в любом случае?
Ответить с цитированием
  #2  
Старый 27.09.2011, 15:12
Zhigalov Zhigalov вне форума
Начинающий
 
Регистрация: 27.05.2009
Сообщения: 100
Репутация: -1277
По умолчанию

Цитата:
Сообщение от Kis
Ребят, хочу сделать так чтобы через Edit можно было бы изменить значение какого-то поля, допустим Таб№, но это значение не изменилось в самой базе данных, а только в таблице. Можно ли так сделать или изменения в базе будут в любом случае?

Хм. этот компонент работает на прямую с таблицей. Если только создовать при помощи запроса другую таблицу. Тогда наверное можно, хотя может я и не прав.
Ответить с цитированием
  #3  
Старый 27.09.2011, 15:32
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Kis
Ребят, хочу сделать так чтобы через Edit можно было бы изменить значение какого-то поля, допустим Таб№, но это значение не изменилось в самой базе данных, а только в таблице. Можно ли так сделать или изменения в базе будут в любом случае?
Будут, но можно транзакции использовать.
http://www.delphisources.ru/forum/sh...ad.php?t=18369
__________________
Google в помощь
Ответить с цитированием
  #4  
Старый 27.09.2011, 15:38
Kis Kis вне форума
Новичок
 
Регистрация: 02.09.2011
Сообщения: 76
Репутация: 11
По умолчанию

спасибо! еще вопрос, а если вместо АдоТэйбл использовать обычную тэйбл, загрузить в нее значения из БД, потом редактировать ее, то в БД не будут происходить изменения?
Ответить с цитированием
  #5  
Старый 27.09.2011, 20:24
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Вообще-то можно и без транзакций, достаточно перевести AdoTable.LockType в ltBatchOptimistic и пока вы не выполните UpdateBatch ничего в таблицу не запишется.
ПС: А вот что вы называете обычной тэйбл, мне не очень понятно.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 28.09.2011, 01:15
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Выскочкам - минус.
Страдальцу - фи за невнимательнось (и пусть только попробуют обвинить меня в клановости).
ТСу - тут будет частями:
РАЗ - грид это только средство отображения (набора данных) таблицы. (вот я иногда думаю - нафига гриду дали возможность редактирования....)
ДВА - ТС, изменить поле в гриде и не менять его в таблице как ни страно можно, для этого нужно просто нарисовть в ячейке сетки своё значение, но вы этого сделать не сможете так что этот пункт не для вас
ТРИ - ТС, почитайте, пожалуйста, что-нибудь, о базах данных. Что такое поле, что такое запись, выборка, набор данных (тут теорию множеств неплохо бы вспомнить). Затем о запросах почитайте - и будет вам састье, поверьте. А если что не поймете - милости просим, с обоснованными вопросами.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #7  
Старый 28.09.2011, 03:06
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Не не обвиню, но пояснений все-же хотелось бы. В чем моя невнимательность, так и не понял. Может ночью я тупею?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 28.09.2011, 07:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Страдалецъ
Не не обвиню, но пояснений все-же хотелось бы. В чем моя невнимательность, так и не понял. Может ночью я тупею?

тоже не понял где невнимательность. решение извращенное, но, вроде, рабочее. ТС хочет на экране видеть изменения, но не пропагировать это изменения в БД. Я бы, конечно, просто сделала бы через любой MemTable. Скопировал всю выборку и хоть обизменяйся.
Ответить с цитированием
  #9  
Старый 28.09.2011, 08:34
Kis Kis вне форума
Новичок
 
Регистрация: 02.09.2011
Сообщения: 76
Репутация: 11
По умолчанию

Спасибо всем за ответы и помощь! попробую сделать через MemTable
Ответить с цитированием
  #10  
Старый 28.09.2011, 13:03
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Выскочкам - минус.

...........
__________________
Google в помощь

Последний раз редактировалось Ildar-tsr, 28.09.2011 в 18:05.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter