Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для shilovec5377
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756

SQL-запрос в диапазоне

25.11.2011, 16:58. Показов 2785. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в примере выволняеться SQL-запрос в диапазоне от 1 даты по 2. помогите пж как можно сделать так, если дат в диапазоне нет, то выводило сообщение( этих дат нет).
Заранее благодарю.
Вложения
Тип файла: rar диапазон.rar (379.0 Кб, 41 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2011, 16:58
Ответы с готовыми решениями:

SQL запрос. Записи в диапазоне дат
Вывести все записи в диапазоне дат, даты задаются с помощью Edit1 и Edit2. Делаю с помощью RADIOGROUP. При активации запроса проект...

Как посмотреть T-SQL запрос который генерирует Entity Framework запрос
как посмотреть T-SQL запрос который генерирует Entity Framework запрос в visual studio 2010, 2012

Запрос Select T-sql - Вложенный запрос вернул больше одного значения
Нужно посчитать комиссию от сделки. DealShare(комиссия) - поле таблицы agents, supplies - предложения(риелторы клиентам) deals-...

9
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
25.11.2011, 17:08
Если действительно необходима быстрая помощь, то выкладывать надо текст SQL запроса и описание структур таблиц, участвующих в запросе. Ваш диапазон.rar при этом на фиг не нужен.
0
 Аватар для shilovec5377
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
25.11.2011, 17:52  [ТС]
Вот код SQL:
SQL
1
2
3
SELECT *
FROM касса
WHERE [дата] BETWEEN :Dat1 AND :Dat2
Добавлено через 3 минуты
у меня есть 2 поля.
id дата
....................................
1 . 21.06.2011 .
2 . 21.08.2011 .
3 . 21.10.2011 .
....................................
0
 Аватар для shilovec5377
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
25.11.2011, 17:59  [ТС]
вот скрин
Миниатюры
SQL-запрос в диапазоне  
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
25.11.2011, 18:41
Цитата Сообщение от shilovec5377 Посмотреть сообщение
то выводило сообщение( этих дат нет).
1. Открываешь набор данных
2. Проверяешь, есть ли в нем записи
3. Если набор пустой, с помощью какого - либл средства (например, ShowMessage) выводишь искомое сообщение.
Где тут проблемы!
0
 Аватар для shilovec5377
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
25.11.2011, 19:21  [ТС]
по выводу сообщений проблем нет. помогите сделать так чтобы таблица где отображаються данные не становилась пустой, если этих дат в диапазоне нет, а просто выводило сообщение.
0
 Аватар для Африканыч
7 / 7 / 1
Регистрация: 25.11.2011
Сообщений: 40
29.11.2011, 11:07
Тогда после проверки количества записи в выполненном запросе, если оно =0, прятать таблицу (Hide) и выводить сообщение. Если не 0, тогда показывать обратно (Show). Если уж тебя или юзера так уж раздражает вид пустого Grid'а.
0
 Аватар для Gulik
6 / 6 / 0
Регистрация: 06.11.2011
Сообщений: 36
29.11.2011, 20:11
Поправил, вот код:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, ComCtrls, ExtCtrls, DBCtrls;
 
type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    ADOConnection1: TADOConnection;
    qVerify: TADOQuery;
    Panel1: TPanel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Button1: TButton;
    Panel2: TPanel;
    DBNavigator1: TDBNavigator;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
function DateToSQLStr(Date : TDate) : String ;
   var
      d, m, y : word ;
begin
   DecodeDate(Date, y, m, d) ;
   Result := IntToStr(d)+'/'+IntToStr(m)+'/'+IntToStr(y) ;
end ;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   qVerify.SQL.Text := 'SELECT * FROM касса WHERE [дата] between #' + DateToSQLStr(DateTimePicker1.Date) + '# and #' + DateToSQLStr(DateTimePicker2.Date) +'#' ;
   qVerify.Open ;
   if qVerify.IsEmpty then begin
      Application.MessageBox('Записи отсутствуют!', 'Информация', MB_ICONINFORMATION) ;
   end
   else begin
      ADOQuery1.SQL.Text := qVerify.SQL.Text ;
      ADOQuery1.Open ;
   end;
end ;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
   ADOQuery1.SQL.Text := 'SELECT * FROM касса' ;
   ADOQuery1.Open ;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
   ADOQuery1.SQL.Text := 'SELECT * FROM касса' ;
   ADOQuery1.Open ;
end;
 
end.
А вот исходник:
- Скачать -
Вложения
Тип файла: zip диапазон_new.zip (430.6 Кб, 49 просмотров)
1
 Аватар для rdama
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
30.11.2011, 02:57
Вот ей богу. Поиск по форуму. Сколько можно об одном и том же.
Модераторам предлагаю. Закрепить в разделе консолидированную тему о работе с параметризированными запросами.
И тем более с диапазоном дат.

P.S.
И еще в первом посте этой темы написать большими и жирными буквами.
Нельзя называть объекты БД на русском.
0
 Аватар для Gulik
6 / 6 / 0
Регистрация: 06.11.2011
Сообщений: 36
30.11.2011, 10:29
Цитата Сообщение от rdama Посмотреть сообщение
И еще в первом посте этой темы написать большими и жирными буквами.
Нельзя называть объекты БД на русском.
Согласен! Т.к. даже если и БД это позволяет, приложения все же пишутся с использованием Delphi, и при возникновении проблем, начинается сыпаться куча вопросов, которые бы никогда не возникли при использовании в названии полей латинских букв
Так же поля БД должны писать слитно, либо с использование нижнего подчеркивания "_".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2011, 10:29
Помогаю со студенческими работами здесь

Как в sql запрос вставить еще один запрос правильно?
Есть длинный запрос, в котором можете даже не разбираться если не хотите, но выдает он следующее: Запрос: SELECT...

Не работае запрос в SQL Navigator 6.0 хотя работает в 4 и SQL Plus
Добрый день. Такая вот непонятная проблемка нарисовалась на ровном месте. Установили SQL Navigator 6.0 и запрос: select (CASE WHEN...

SQL запрос, работающий в MS SQL Menegment'e не работает в делфи
Требуется выполнить запрос по нажатию кнопки, запрос сначала написал в Microsoft SQL Managment, где и написал свою БД, там запрос работает,...

SQL запрос по фрагменту строки сохраненной в таблице SQL
Прошу помощи. Есть SQL таблица-1, в ней есть столбец по имени Model_Vagona с типом данных ntext Есть SQL таблица-2, в ней есть столбец...

SQL-запрос в SQL server management studio 2008 (if else)
Здравствуйте! Нужна помощь в правке условия, уже как более 8 часов не могу правильно составить условие... +1 к карме обеспечен. Вычислить...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru