Остановите пока нет, когда правильный ответ найден - PullRequest
0 голосов
/ 06 июня 2019

Пока у меня есть таблица с шестью записями. У каждого есть 2 поля: Min_lenght, Max_lenght. Эти поля определяют диапазон, поэтому первый элемент имеет Min_lenght = 160, Max_lenght = 179 и так далее. При определении 1 значения (custom_lenght) мне нужно остановить SQL, когда эти значения находятся в диапазоне. Итак (custom_lenght> Min_lenght) AND (custom_lenght

custom_lenght = cint(request("custom_lenght"))
Set objRS2 = Server.CreateObject("ADODB.Recordset")
sql2 = "SELECT * FROM tbl_model where Order by ID_model ASC"
objRS2.Open sql2, ConString
If Not objRS2.EOF Then
While Not objRS2.EOF
Min_lenght = cint(objRS2("Min_lenght"))
Max_lenght = cint(objRS2("Max_lenght"))
order = objRS2("order")
Price = objRS2("price") 
if (custom_lenght > Min_lenght ) AND (custom_lenght < Max_lenght) then
Outofrange="True"
else
Outofrange = "False"  
End If
objRS2.MoveNext
Wend
End If
PuliziaRS(objRS2)

Проблема в том, что SQL просматривает все записи. Мне нужно получить данные (цена и заказ) товара, который попадает в диапазон

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Измените ваш оператор SQL на "SELECT order, price FROM tbl_model WHERE (Min_length < " & custom_length & " AND Max_length > " & custom_length & ") ORDER BY ID_Model"

Это ограничит набор записей записями, которые соответствуют вашей custom_length.

0 голосов
/ 11 июня 2019

как альтернатива;

custom_lenght = cint(request("custom_lenght"))
Set objRS2 = Server.CreateObject("ADODB.Recordset")
sql2 = "SELECT order, price FROM tbl_model WHERE " & custom_lenght & " BETWEEN Min_lenght AND Max_lenght Order by ID_model ASC"
objRS2.Open sql2, ConString
If Not objRS2.EOF Then
    order = objRS2("order")
    Price = objRS2("price")
    Outofrange = "True"
Else
    Outofrange = "False"  
End If
objRS2.Close
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...