Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 12.03.2014, 21:09
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от yuoras
Да, так работает
Значит в этих записях (которые выбираются) есть как минимум одно пустое поле, а запрос рассчитан так, что если хоть одно из перечисленных полей пустое, то такая запись заведомо исключается из выборки. Чтобы выбиралось по-другому - запрос нужно переписать соответственно.
Ответить с цитированием
  #17  
Старый 12.03.2014, 21:17
yuoras yuoras вне форума
Прохожий
 
Регистрация: 11.03.2014
Сообщения: 48
Версия Delphi: Delphi 7(4.453)
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Чтобы выбиралось по-другому - запрос нужно переписать соответственно.
Можете помочь в написании правильного запроса?
Кстати, в других колонках есть действительно пустые поля, но эти данные без проблем отображаются.
Возьмём к примеру колонку "street", там есть и пустые значения , в даном поле есть и буквы ,цифры ,дроби.
Но без проблем выбираются

Последний раз редактировалось yuoras, 12.03.2014 в 21:37.
Ответить с цитированием
  #18  
Старый 12.03.2014, 21:38
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от yuoras
Можете помочь в написании правильного запроса?
Такой запрос исключит записи в которых все перечисленные поля пустые:
Код:
SELECT DISTINCT 'ip'=sety, 'л'=licn, 'н.'=name, 'т'=tipesch, 'улица'=street, 'ном.дома'=nbild, 'квартира'=kvart
FROM tb_obj country
WHERE
  (
  sety LIKE :sety_param
  OR licn LIKE :licn_param
  OR name LIKE :name_param)
  OR street LIKE :street_param
  OR nbild LIKE :nbild_param
  OR kvart LIKE :kvart_param
  )
  AND
  NOT(
    ((sety IS NULL) OR (sety = '')) AND
    ((licn IS NULL) OR (licn = '')) AND
    ((name IS NULL) OR (name = '')) AND
    ((street IS NULL) OR (street = '')) AND
    ((nbild IS NULL) OR (nbild = '')) AND
    ((kvart IS NULL) OR (kvart = ''))
  )
ORDER BY licn, nbild, kvart
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
yuoras (12.03.2014)
  #19  
Старый 12.03.2014, 21:49
yuoras yuoras вне форума
Прохожий
 
Регистрация: 11.03.2014
Сообщения: 48
Версия Delphi: Delphi 7(4.453)
Репутация: 10
По умолчанию

Тоже ,что и в сообщении №6
Клапаю по любому из editoв и уже появляются какие то значения (ещё даже не вводил ничего).
Но в kvart уже можно выбирать название )))).
Правда как то странно отображается , сначала сверху , потом разные не нужные строки , а потом остальной кусок нужного..

Спасибо, что помогаете !!.
Ответить с цитированием
  #20  
Старый 12.03.2014, 22:03
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от yuoras
Тоже ,что и в сообщении №6
Клапаю по любому из editoв и уже появляются какие то значения (ещё даже не вводил ничего).
А какой обработчик клапания привязан к тому edit-у?
Ответить с цитированием
  #21  
Старый 12.03.2014, 22:12
yuoras yuoras вне форума
Прохожий
 
Регистрация: 11.03.2014
Сообщения: 48
Версия Delphi: Delphi 7(4.453)
Репутация: 10
По умолчанию

Да ничего не привязано .
Использовал запрос из сообщения №9
Всё нормально , но в столбце kvart не ищет буквенные значения, но не мусора в клапаниях в EDITaм нет.

Последний раз редактировалось yuoras, 13.03.2014 в 10:48.
Ответить с цитированием
  #22  
Старый 12.03.2014, 23:55
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

тогда уж наверное так
Код:
SELECT DISTINCT 'ip'=sety, 'л'=licn, 'н.'=name, 'т'=tipesch, 'улица'=street, 'ном.дома'=nbild, 'квартира'=kvart
FROM tb_obj country
WHERE
  (
  (sety LIKE :sety_param AND sety IS NOT NULL AND sety <> '')
  OR (licn LIKE :licn_param AND licn IS NOT NULL AND licn <> '')
  OR (name LIKE :name_param AND name IS NOT NULL AND name <> '')
  OR (street LIKE :street_param AND street IS NOT NULL AND street <> '')
  OR (nbild LIKE :nbild_param AND nbild IS NOT NULL AND nbild <> '')
  OR (kvart LIKE :kvart_param AND kvart IS NOT NULL AND kvart <> '')
  )
ORDER BY licn, nbild, kvart
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение:
yuoras (13.03.2014)
  #23  
Старый 13.03.2014, 10:49
yuoras yuoras вне форума
Прохожий
 
Регистрация: 11.03.2014
Сообщения: 48
Версия Delphi: Delphi 7(4.453)
Репутация: 10
По умолчанию

Ура .
З А Р А Б О Т А Л О .

Мир не без Добрых людей

Искренняя Блогадарность Вам Yurk@
Ответить с цитированием
  #24  
Старый 14.03.2014, 14:49
yuoras yuoras вне форума
Прохожий
 
Регистрация: 11.03.2014
Сообщения: 48
Версия Delphi: Delphi 7(4.453)
Репутация: 10
По умолчанию

Простите за надоедливость !!
Использую шаровый sql 2005 и доступ к базе по ip выглядит вот так xx.xx.xx.xx\sqlexpress

Постоянно набирать после ip ещё и \sqlexpress не очень удобно.
Где можно в указанном ниже коде ,прописать вот этот \sqlexpress .
Что бы только вводить IP.

PS. Псевдоним сервера не предлагать !!


Заранее благодарен

Последний раз редактировалось yuoras, 20.03.2014 в 20:28.
Ответить с цитированием
  #25  
Старый 14.03.2014, 14:54
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вероятно
Код:
';Data Source='+ServerName+'\sqlexpress';
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
yuoras (14.03.2014)
  #26  
Старый 17.03.2014, 21:06
yuoras yuoras вне форума
Прохожий
 
Регистрация: 11.03.2014
Сообщения: 48
Версия Delphi: Delphi 7(4.453)
Репутация: 10
По умолчанию

Простите за не скромность , а можно ComboBox ы прикрутить (или что то , где можно выбирать , а не вводить в ручную).
Постоянно надо выходить и заходить на другие сервера и постоянно в ручную всё вводить!.

Заранее благодарен
Ответить с цитированием
  #27  
Старый 17.03.2014, 21:12
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от yuoras
Простите за не скромность , а можно ComboBox ы прикрутить (или что то , где можно выбирать , а не вводить в ручную).
Постоянно надо выходить и заходить на другие сервера и постоянно в ручную всё вводить!.
Конечно можно. Создай ещё одну форму, брось на неё 4 ComboBox-а (можно их назначение подписать с помощью 4-х Label-ов) и 2 кнопки: "Подключить" и "Отмена". Форму эту показывай через ShowModal и если в результате будет нажата кнопка "Подключить" - считывай значения с ComboBox-ов в строку подключения и подключай.
Ответить с цитированием
  #28  
Старый 17.03.2014, 23:40
yuoras yuoras вне форума
Прохожий
 
Регистрация: 11.03.2014
Сообщения: 48
Версия Delphi: Delphi 7(4.453)
Репутация: 10
По умолчанию

Попробую поиграться

Последний раз редактировалось yuoras, 20.03.2014 в 13:08.
Ответить с цитированием
  #29  
Старый 20.03.2014, 20:27
yuoras yuoras вне форума
Прохожий
 
Регистрация: 11.03.2014
Сообщения: 48
Версия Delphi: Delphi 7(4.453)
Репутация: 10
По умолчанию

Получилось вот так, возможно не правильно, но работает
Код:
procedure TForm6.Button1Click(Sender: TObject);
begin
form2.ADOConnection.Close;
form2.ADOConnection.ConnectionString:=form2.ADOConnection.ConnectionString+';User ID='+combobox3.Text;
form2.ADOConnection.ConnectionString:=form2.ADOConnection.ConnectionString+';Password='+edit1.Text;
form2.ADOConnection.ConnectionString:=form2.ADOConnection.ConnectionString+';Initial Catalog='+combobox2.Text;
form2.ADOConnection.ConnectionString:=form2.ADOConnection.ConnectionString+';Data Source='+combobox1.Text;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter