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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2012, 09:56   #11
lu_una
Пользователь
 
Регистрация: 07.11.2012
Сообщений: 84
По умолчанию

Уже на пальцах: ) вот был запрос

Код:
if  IBTrShowEnv.InTransaction  then
   IBTrShowEnv.StartTransaction;

  IBQShowEn.SQL.Clear;
  IBQShowEn.SQL.Add('SELECT * FROM table_file WHERE(id = '+ IntToStr(id) +');');
  IBQShowEn.Open;
      pass := IBQShowEn.FieldByName('id_folder').AsString;

      IBTrShowEnv.Commit;
вопрос убираю, разобралась) вот так следом все работает)

Код:
IBTrShowEnv.StartTransaction;
  IBQShowEn.SQL.Clear;
  IBQShowEn.SQL.Add(' UPDATE TABLE_USERS_FILES SET IMPORTANCE = 1 WHERE ((ID_USER = ' +idUser + ') AND (ID_FILE = ' + IntToStr(id )+' ));');  
  IBQShowEn.Open;

      IBTrShowEnv.Commit;

Последний раз редактировалось lu_una; 29.11.2012 в 10:46.
lu_una вне форума Ответить с цитированием
Старый 29.11.2012, 11:16   #12
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Цитата:
Сообщение от lu_una Посмотреть сообщение

Код:
IBTrShowEnv.StartTransaction;
  IBQShowEn.SQL.Clear;
  IBQShowEn.SQL.Add(' UPDATE TABLE_USERS_FILES SET IMPORTANCE = 1 WHERE ((ID_USER = ' +idUser + ') AND (ID_FILE = ' + IntToStr(id )+' ));');  
  IBQShowEn.Open;
  IBTrShowEnv.Commit;
Нужно IBQShowEn.ExecSQL вместо Open
superedward вне форума Ответить с цитированием
Старый 29.11.2012, 11:32   #13
lu_una
Пользователь
 
Регистрация: 07.11.2012
Сообщений: 84
По умолчанию

Зачем, если все работает??
Или, хорошо, в чем разница и суть?? Я в запросах полнейшний ноль)
Объясните )
lu_una вне форума Ответить с цитированием
Старый 29.11.2012, 13:02   #14
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от lu_una Посмотреть сообщение
Зачем, если все работает??
Или, хорошо, в чем разница и суть?? Я в запросах полнейшний ноль)
Объясните )
при использовании Open изменения будут у вас лишь в "копии" которую программа подгрузила, и после ее закрытия ваши изменения будут утрачены. В то время как ExecSQL записывает изменения в саму БД.
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 29.11.2012, 13:45   #15
lu_una
Пользователь
 
Регистрация: 07.11.2012
Сообщений: 84
По умолчанию

Уже тестила, ничего не теряется. В БД зашла- изменения на месте.
lu_una вне форума Ответить с цитированием
Старый 29.11.2012, 14:59   #16
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от lu_una Посмотреть сообщение
Уже тестила, ничего не теряется. В БД зашла- изменения на месте.
в данном случае от потери вас спасает IBTrShowEnv.StartTransaction и IBTrShowEnv.Commit.
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как записать таблицу в файл Ioane Visual C++ 0 05.11.2012 20:40
Как записать в таблицу значения вычисляемого в форме Юрий Л Microsoft Office Access 0 25.11.2010 01:02
Значение функции записать в массив Gladiator Общие вопросы C/C++ 1 26.03.2010 12:55
Как записать данные в таблицу полученные методом расчета? GenaRu Microsoft Office Access 3 18.12.2009 20:52
С# - как в таблицу MS SQL записать информацию из формы? _mobility Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 1 01.01.2009 12:29