Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Orastar
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 34
1

Проблема со сравнением двух переменных

18.05.2011, 18:40. Просмотров 680. Ответов 7
Метки нет (Все метки)

Есть такая задача - нужно сделать поиск по нескольким параметрам, например: название, цена, количество. Есть такая выборка из БД:

SQL = 'SELECT * FROM CatalogView Where 1=1'
If request('name')<>'' Then
SQL = SQL & ' AND Name Like '%' + request('name') + '%''
End if
If request('items')<>'' Then
SQL = SQL & ' AND Items >= '' & request('items') & '''
End if

С этим все нормально, все работает, но с ценой не хочет хоть убей.
И количество и цена в БД - varchar. Единственное различие - количество - целые числа, а цена в базе вбита например как 56,12 и т.д. Помогите плиз, уже устал воевать с этим.


If request('price1')<>'' Then
SQL = SQL & ' AND Price >= '' & request('price1') & '''
End if
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 18:40
Ответы с готовыми решениями:

Проблема с выводом переменных в калькуляторе
народ, вот пытаюсь сделать калькулятор) - тестирую только на кнопке &quot;+&quot;(плюсе),...

Проблема передачи переменных в сессии при попытке сохранить файл asp в формате excel
Кто-нибудь сталкивался с проблемой передачи переменных в сессии при попытке...

Ошибка в программе со сравнением строк
ПОмогите пожалуйста, я новичек в С# полазил по форуму и смог создать (точнее...

Рисование линий уровня функции двух переменных
Собственно, сабж. Ничего толкового не придумал, кроме как сделать тупо канву,...

Передача двух переменных разного типа с клиента серверу
Хочу передать переменную типа float и строку типа string с асинхронного клиента...

7
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
18.05.2011, 19:12 2
Проверь какой запрос у тебя в итоге получается. Т.е. перед выполнеием сделай Response.Write(SQL). Моет помочь.
0
Orastar
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 34
18.05.2011, 19:16  [ТС] 3
Запрос самый обычный.

SELECT * FROM CatalogView Where 1=1 AND Price >= '67'

Самое главное непонятна логика, на ошибки не ругается, но находит абсолютно не то что должен.
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
18.05.2011, 19:20 4
- А если без кавычек сделать?
- Какая база?
- Какой тип у колонки price?
0
M_Y_R
3 / 3 / 0
Регистрация: 15.10.2008
Сообщений: 282
18.05.2011, 19:38 5
Я пoдoзревaю чтo пo зaпрoсу прихoдит именнo тo, чтo дoлжнo. A именнo, при срaвнении двух стрингoвых дaнных '67'>'167' результaт - true.
0
Orastar
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 34
19.05.2011, 11:34  [ТС] 6
База MS SQl
Без кавычек пробовал - не помогает.
У колонки price тип varchar, такой же как и у items (но здесь все работает)...

Действительно похоже что выдает true, а как побороть?
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
19.05.2011, 11:39 7
Хранить числовое значение в вимде строки мягко говоря неправильно. Тебе так не кажется? Отсюда и проблемы. Меняй тип колонки на число с плавающей точкой.
0
Orastar
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 34
19.05.2011, 12:16  [ТС] 8
Ок. Спасибо. Все нормально стало
0
19.05.2011, 12:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2011, 12:16

Вывести результат двух операций с использованием двух переменных
Такие дела: надо ввести с клавиатуры 4 переменные, используя только 2 int, и...

Сравнение двух текстовых переменных и вывод их разницы в виде текста что отличается в двух массивах
Есть две текстовых переменных типа string. Необходимо вывести в третью...

Проблема с инициализацией переменных в программе
Предупреждение возникает в 64 , 65 и 176 строке, пишет мол zi,zj,idx не были...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru