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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2016, 09:05   #1
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию sql запрос

Код:
DataModule2.ADOQuery3.Close;
DataModule2.ADOQuery3.SQL.Clear;
DataModule2.ADOQuery3.SQL.Add('select * from Oborudovanie where ');
DataModule2.ADOQuery3.SQL.Add('OborudovanieID = '+quotedstr(inttostr(DataModule2.ADOQuery4.FieldByName('OborudovanieID').AsInteger)));
DataModule2.ADOQuery3.Open;
почему-то не работает что не так?
Ernest027 вне форума Ответить с цитированием
Старый 02.03.2016, 09:10   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
FieldByName('OborudovanieID').AsInt eger
Судя по этому OborudovanieID не символьное. А зачем тогда quotedstr? Типа методом тыка - а вдруг заработает?
Цитата:
почему-то не работает
На будущее - это без информационно. Нужно нормально описывать проблему
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.03.2016, 09:13   #3
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Цитата:
А зачем тогда quotedstr? Типа методом тыка - а вдруг заработает?
без quotedstr даже edit1.text не работает.
Поле OborudovanieID автоинкрементное в adoquery3, в adoquery4 обычное Int.
Ernest027 вне форума Ответить с цитированием
Старый 02.03.2016, 09:17   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
без quotedstr даже edit1.text не работает
Он что, прогуливает? Еще раз - нормально описывай проблему
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.03.2016, 09:22   #5
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

мне нужно отобрать все записи, которые удовлетворяют условию ADOQuery4.FieldByName('Oborudovanie ID').asinteger=ADOQuery3.FieldByNam e('OborudovanieID').asinteger.
ну и делаю так:
Код:
DataModule2.ADOQuery3.Close;
DataModule2.ADOQuery3.SQL.Clear;
DataModule2.ADOQuery3.SQL.Add('select * from Oborudovanie where ');
DataModule2.ADOQuery3.SQL.Add('OborudovanieID = '+quotedstr(inttostr(DataModule2.ADOQuery4.FieldByName('OborudovanieID').AsInteger)));
DataModule2.ADOQuery3.Open;
что не так?
Ernest027 вне форума Ответить с цитированием
Старый 02.03.2016, 09:25   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

quotedstr не так
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.03.2016, 09:27   #7
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
DataModule2.ADOQuery3.Close;
DataModule2.ADOQuery3.SQL.Clear;
DataModule2.ADOQuery3.SQL.Add('select * from Oborudovanie where ');
DataModule2.ADOQuery3.SQL.Add('OborudovanieID = '+(inttostr(DataModule2.ADOQuery4.FieldByName('OborudovanieID').AsInteger)));
DataModule2.ADOQuery3.Open;
все равно не работает
Ernest027 вне форума Ответить с цитированием
Старый 02.03.2016, 09:30   #8
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Ernest027 Посмотреть сообщение
Код:
DataModule2.ADOQuery3.Close;
DataModule2.ADOQuery3.SQL.Clear;
DataModule2.ADOQuery3.SQL.Add('select * from Oborudovanie where ');
DataModule2.ADOQuery3.SQL.Add('OborudovanieID = '+(inttostr(DataModule2.ADOQuery4.FieldByName('OborudovanieID').AsInteger)));
DataModule2.ADOQuery3.Open;
все равно не работает
как это проявляется?
вы уверенны что в
Код:
DataModule2.ADOQuery4.FieldByName('OborudovanieID').AsInteger
точно необходимый вам индекс?
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 02.03.2016, 09:53   #9
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Так точно, он там есть.
Ernest027 вне форума Ответить с цитированием
Старый 02.03.2016, 09:57   #10
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Dvoishnik Посмотреть сообщение
как это проявляется?
вы мне не ответили

Цитата:
Сообщение от Ernest027 Посмотреть сообщение
Так точно, он там есть.
необходимый индекс есть в таблице к которой обращается ADOQuery4 или каретка находится на нем в момент выполнения запроса?
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запрос Tanushka=) SQL, базы данных 2 23.05.2011 17:09
Запрос в SQL Анн Помощь студентам 2 16.12.2010 19:51
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15