Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37

Поиск по БД не работает с числовыми полями

16.10.2010, 19:31. Показов 2555. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я создал бд в делфи спомощью TQuery и DBGrid! Реализую поиск по баз данных спомощью sql запроса используя Edit и RadioGroup!
Вот процедура поиска:
Код:

Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm3.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
  var s : string;
  begin
    datasource1.DataSet:=ADOQuery1;
      if ADOQuery1.Active then ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  S:='Select * From Таблица1 Where '+RadioGroup1.Items.Strings[RadioGroup1.itemindex]+' like '+#39+Edit1.Text+'%'+#39+'Order By №';
  ADOQuery1.SQL.Add(S);
  ADOQuery1.Open;
end;
Этот поиск работает для текстовых полей! Как только дело доходит до чисел появляется ошибка! Помогите написать запрос для поиска по числам!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.10.2010, 19:31
Ответы с готовыми решениями:

Как создать поиск с динамическим списком и зависимыми полями?
Здравствуйте Я новичек. Помогите, пожалуйста, создать поиск с динамическим списком и зависимыми полями на php. У меня есть база...

Поиск по двум таблицам с одинаковыми полями через ADOQuery
На данный момент есть база данных Access, в ней - две таблицы (Table1, Table2), в каждой из них есть одинаковые поля - "IMEI" и...

SELECT не работает с полями DATE/TIME...
Пытаюсь подключиться к БД Access через ODBC. Когда выдаю SELCT * FROM Table WHERE Time > $q; получаю ошибку - или несоответствие типов...

26
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
16.10.2010, 22:04
Цитата Сообщение от Mr.Steroid Посмотреть сообщение
Order By №'
странный ордер
какая СУБД, какая ошибка??
1
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
16.10.2010, 22:13  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm5.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var s : string;
  begin
       datasource1.DataSet:=ADOQuery1;
      if ADOQuery1.Active then ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
  S:='Select * From Таблица1 Where '+RadioGroup1.Items.Strings[RadioGroup1.itemindex]+' like '+#39+Edit1.Text+'%'+#39+'Order By Фамилия';
  ADOQuery1.SQL.Add(S);
  ADOQuery1.Open;
  end;
Код организует поиск по БД! Искомое вводится в Edit, а в RadioGroup выбираем столбец(поле) по которому будем искать!
По некоторым столбцам поиск работает, а по некоторым нет! Пишет ошибку:
'ошибка синтаксиса(пропущен оператор) в выражении запроса 'Название кирпича like'1%'''
0
 Аватар для reiteriX
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
17.10.2010, 00:03
Select *
Order By №
так нельзя. Вы должны использовать имена атрибутов вместо * если хотите сортировки
0
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
17.10.2010, 00:06
Mr.Steroid, где то я уже такой запрос читал
и все таки очень не есть красиво имена таблиц и столбцов называть русскими буквами, правда это Ваше право тем более access это допускает. Надеюсь по поводу Mnicrosoft Access я угадал, если да то мои Вам замечание читайте справки они помогают
В СУБД Microsoft access с ключевым слово Like нужно использовать звездочку, как любой элемент. А не как Вы %
Ну вот такой он не хороший
1
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
17.10.2010, 00:10
Цитата Сообщение от reiteriX Посмотреть сообщение
так нельзя. Вы должны использовать имена атрибутов вместо * если хотите сортировки
Скажу по секрету можно в селективном запросе указывать выборку всех полей через звездочку "*"
Главное что бы название поле указанного в сортировке " order " было в таблице, или лучше всего тогда указывать № п/п столбца
1
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
17.10.2010, 01:16  [ТС]
То есть достаточно просто вместо "%" поставить "*" и всё будет Ок?
0
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
17.10.2010, 01:19
Mr.Steroid, ну у меня получилось
0
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
17.10.2010, 01:22  [ТС]
А у меня к сожалению нет((

Добавлено через 56 секунд
Таже самая ошибка(
0
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
17.10.2010, 01:23
скинь проект с базой
0
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
17.10.2010, 01:27  [ТС]
Распакуйте его в туже папку на диск С. Иначе работать не будет.
Посмотрите например базу "Клиенты". В ней не работают сортировки по "кол-во поддонов" и "наименование кирпича"
Вложения
Тип файла: rar KURDB.rar (8.36 Мб, 20 просмотров)
0
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
17.10.2010, 01:29  [ТС]
Через 2 мин. вернусь. Надеюсь на вашу помощ.
0
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
17.10.2010, 01:32
угум только вышлете еще файл Unit31
1
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
17.10.2010, 01:35  [ТС]
странно! но у меня его нет)
0
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
17.10.2010, 01:36
Mr.Steroid, странно он у Вас лежи в корневой папке bin у делфях
Delphi
1
Unit31 in '..\..\Program Files\Borland\Delphi7\Bin\Unit31.pas' {kirprep},
1
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
17.10.2010, 01:38  [ТС]
подождите немного...
0
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
17.10.2010, 01:41  [ТС]
Кажется это он
Вложения
Тип файла: rar Unit31.rar (14.9 Кб, 10 просмотров)
0
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
17.10.2010, 01:43
Вам придется малость подождать закачаю QuickReport
1
1 / 1 / 0
Регистрация: 28.09.2009
Сообщений: 37
17.10.2010, 02:04  [ТС]
Закрываете все проекты делфи.
File/Close all
Затем component/install Packages/add/dclqrt70.bpl

Добавлено через 25 секунд
И он должен добавиться

Добавлено через 1 минуту
А! этот файл dclqrt70.bpl находится в папке bin

Добавлено через 14 минут
Не уходите, пожалуйста. Вернусь через пару минут...
0
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
17.10.2010, 02:32
У тебя ошибка в названии поля Измени название "К-во кирпича(поддонов)" на такое что бы не было пробелов и дужек, желательно



а запрос выглядит так
SQL
1
SELECT * FROM Таблица1 WHERE ([Кол-вокирпичаподдоны] LIKE '+#39+'2*'+#39+') ORDER BY 1
Добавлено через 5 минут

Не по теме:

И еще скажи кто Вас такому учит что бы таблицы, столбцы были на русском. Та еще с пробелами и круглыми скобками

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2010, 02:32
Помогаю со студенческими работами здесь

Почему не работает код с полями/свойствами?
Здравствуйте! Я изучаю программирование с самого начала. Изучаю по книге "C# для школьников. М.Дрейер.". Дошёл до полей (свойств) и я...

Функции над полями структуры - Поиск самого высокого студента
Всем привет! Помогите пожалуйста добавить в мой код следующие функции:1) Поиск самого высокого студента 2) Самого тяжелого(Вес) и 3)...

Поиск по классу с полями char* для массива обьектов class a[i]
Есть класс: aero.h #ifndef AERO_H #define AERO_H #include <string> using namespace std; class aero

Определите новый класс Student с двумя закрытыми полями полями: name и sumb
Я очередной студент, которые вам, полагаю, очень надоели, но все же я очень надеюсь на вашу помощь. Задание 4. Массивы Объектов. ...

Определить класс Student с двумя закрытыми полями полями: name и sumb
Всем доброго дня. Помогите пожалуйста довести код до ума. Я что то никак не разберусь. Вот задание: 1. Создайте новое консольное...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru