Как проверить есть ли запись в таблице?

Обсуждение возникших проблем, предложений и ошибок MyDAC компонентов
Закрыто
Sanya111
Сообщения: 26
Зарегистрирован: Пн 02 июл 2012 14:07

Как проверить есть ли запись в таблице?

Сообщение Sanya111 » Ср 08 авг 2012 16:38

Привет.
Подскажите, пожалуйста, как правильно проверить есть ли запись в таблице?
Ищу в колонке с primary key, то есть я точно знаю что будет только одна запись.
Написал вот такой код, присваиваю строковой переменной s='' и после запроса просто проверяю осталась переменная пустой или нет.
Мне очень важна скорость такой проверки.

Код: Выделить всё

s:='';
Form1.MyQuery1.SQL.Text:= 'select hh_id from hh where hh_id="'+HHDan[1]+'"';
Form1.MyQuery1.Open;
while not Form1.MyQuery1.Eof do
begin
s:=Form1.MyQuery1.FieldByName('hh_id').AsString;
if s<>'' then begin
break;
end;
Form1.MyQuery1.Next;
end;
Form1.MyQuery1.Close;

если s не пустая строка, то значит запись была в таблице

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Re: Как проверить есть ли запись в таблице?

Сообщение AndreyZ » Чт 09 авг 2012 09:22

Здравствуйте,

Для проверки существования записи, Вы можете использовать следующий код:

Код: Выделить всё

MyQuery1.SQL.Text:= 'select hh_id from hh where hh_id="'+HHDan[1]+'"';
MyQuery1.Open;
if not MyQuery1.Eof then
  ShowMessage('Запись существует')
else
  ShowMessage('Запись не существует');
MyQuery1.Close;

Sanya111
Сообщения: 26
Зарегистрирован: Пн 02 июл 2012 14:07

Re: Как проверить есть ли запись в таблице?

Сообщение Sanya111 » Чт 09 авг 2012 09:58

Большое спасибо за помощь :)

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Re: Как проверить есть ли запись в таблице?

Сообщение AndreyZ » Чт 09 авг 2012 10:12

Не за что. Обращайтесь к нам если возникнут дальнейшие вопросы по MyDAC.

Закрыто