Нахождение числа между двумя другими числами в таблице базы данных&#33

  • Автор темы Rinza
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Rinza

#1
Помогите пожалуйста!
мне надо: я пишу число в Edit1 , которого нет в таблице Stress, а в Edit2 и Edit3 должны помещаться значения поля Temper в таблице Stress между которыми располагается число введеное в Edit1

то есть:

Таблица Stress:

Temper | Stress
30 | 500
400 | 400

в Edit1 ввожу например число 300(ввожу произвольное число)
должно: В Edit2 помещается число 30
В Edit3 помещается число 400

Таблица Stress собрана с помощью SQL из двух других таблиц

помогите пожалуйста!!!!!!!
извините за сумбур)))))

прога должна работать на кнопку!
 
04.09.2006
2 566
3
#2
Каждое из полей заполняется отдельным запросом. Первый выбирает максимальное значение из тех, которые меньше введенного значения. Второй - минимальное из больших значений
 
R

Rinza

#3
а можно поподробнее и лучше код!!! буду очень благодарна))))
 
B

Barmutik

#4
Код:
SELECT MAX(Название поля) FROM Temper WHERE Название поля < Ващего значения из поля Edit1
И второе аналогично:

Код:
[code]
SELECT MIN(Название поля) FROM Temper WHERE Название поля > Ващего значения из поля Edit1
 
R

Rinza

#5
спасибо за ответ!но мне нужн код на кнопку!!!!!

к тому же я думаю по этому запросу будут выходить все поля табицы которые < или > значения введенного в Edit1. а мне нужно тобы вибирались ближайшее меньшее и ближайшее большее знчения.
если знаете как пожалуйта подскажите!
 
L
#6
Так тогда вы не в тот раздел форума написали.
Давайте сначала выясним какой у вас язык програмирования.

К тому же Вы не правильно думаете. Результатами запроса будет одна запись с каждого SQL выражения.
 
R

Rinza

#7
fgs

возможно и не в тот раздел. я пишу на delphi. и не знаю как разобраться с этой задачей.
део в ом что мне потом эти числа которые получаюся в Edit2 и Edit3 нужно будет испоьзовать для расчета. поэтому мне просто необходимо их получить!!!!!!
помогите пожалуйста! уже все перепробовала. но про это ничего не пишут!!!! или я просто не нашла!!!!
 
B

Barmutik

#8
Для: Rinza

Прям крик утопающей :)

Так что Вам конкретно не понятно в тех запросах что я привёл Вам ? Результатом каждого из запросов будет скалярное выражение которое Вам и нужно поместить в Ваши Edit 2 and 3.

Судя по тому что Вы умеете обращаться с SQL и смогли создать запрос, который Вы приводили в первом посте.. то просто выполните указанные мной запросы к Вашей таблице, извлеките полученные значения и получите то что Вам надо...
 
R

Rinza

#9
я с sql недавно рботаю.еще много чего не знаю.
можно ли так написать.
begin
Query1.close;
Query1.SQL.Clear;
Query1.SQL.ADD('SELECT MAX(Temper) FROM Stress WHERE Temper < '+ Edit1.text);
Quey1.Open;

1.прога ругается на <

2.а теперь мне надо, чтобы значение которое max помещалось в Edit2.
3.и аналогично для min.

ну не получается у меня!!!!!!
мне нужно чтобы два значения у меня получились одновременно и записалисьв Edit2, Edit3
 
B

Barmutik

#10
Ну .. не лёгкий случай :)

Код:
Query1.close;
Query1.SQL.Clear;
Query1.SQL.ADD('SELECT MAX(Temper) As MyMax FROM Stress WHERE Temper < '+ Edit1.text);
Quey1.Open;
Edit2.Text := IntToStr(Query1.FieldByName('MyMax').AsInteger);
Приведите конкретно ошибку... что не работает .. только словами программы а не Вашими :)

Для Edit3 вариант исправить сможете ?
 
R

Rinza

#11
спасибо большое! я сделала вчера ....немного по другому но все работает!
код приведу попзже если кому надо)
 
Статус
Закрыто для дальнейших ответов.