Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 12.11.2010, 13:56   #1
SERG1980
Профессионал
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
Репутация: 717
По умолчанию SQL запрос на текущую запись

Можно ли как нибудь указать в запросе что модифицировать надо именно текущую запись т.е. на которой стоити курсор, что то вроде
Код:
SQL.Add('UPDATE Towns SET T_Default = true WHERE текущая запись');
SERG1980 вне форума   Ответить с цитированием
Старый 12.11.2010, 14:17   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6850
По умолчанию

Ну это зависит от СУБД имхо...
Например можно было бы написать:
Код:
SQL.Add('UPDATE Towns SET T_Default = true WHERE rownum='+IntToStr(RecNo));
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 12.11.2010, 14:20   #3
_SERGEYX_
Профессионал
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Адрес: г. Витебск
Сообщений: 1,517
Репутация: 437

icq: 375449564
По умолчанию

Можно и даже необходимо
ID - первичный ключ, обычно автоинкрементное поле
SQL.Add('UPDATE Towns SET T_Default = true WHERE ID = <текущее значение этого поля>');
_SERGEYX_ вне форума   Ответить с цитированием
Старый 12.11.2010, 14:33   #4
SERG1980
Профессионал
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
Репутация: 717
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Можно и даже необходимо
ID - первичный ключ, обычно автоинкрементное поле
SQL.Add('UPDATE Towns SET T_Default = true WHERE ID = <текущее значение этого поля>');
Так я уже сделал просто хотелось узнать можно ли проще. Думал может какой нибудь SQL оператор есть который такое умеет
SERG1980 вне форума   Ответить с цитированием
Старый 12.11.2010, 15:00   #5
_SERGEYX_
Профессионал
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Адрес: г. Витебск
Сообщений: 1,517
Репутация: 437

icq: 375449564
По умолчанию

Можно самому написать кучу функций и процедур, чтобы не писать один и тот же код. Например, я часто получаю максимальный номер из разных таблиц.
Чтобы не повторяться пишу
Код:
function Get_maxNum(aField: string; aTable: string): Integer;
begin
  qMax.Close;
  qMax.SQL.Clear;
  qMax.SQL.Add('select max(' + aField + ') from ' + aTable);
  qMax.Open;
  Result := qMax.Fields[0].AsInteger + 1;
end;
А потом в коде использую
Код:
x:= Get_maxNum('field','table');
Облегчает жизнь.
_SERGEYX_ вне форума   Ответить с цитированием
Старый 12.11.2010, 15:20   #6
SERG1980
Профессионал
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
Репутация: 717
По умолчанию

Всем спасибо оставил вариант через id
SERG1980 вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложный sql запрос или запись Rusl92 PHP 5 25.08.2010 15:15
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 07:26
Как получить текущую дату из SQL запроса? _ozzy_ SQL, базы данных 2 09.09.2008 21:15
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 19:15


21:00.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.