Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.09.2017, 21:18   #1
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Адрес: 0x0000-0x9FFFFF
Сообщений: 119
Репутация: 9
По умолчанию Вывод имени вместо ID

Есть две таблицы Pokupatel c полями id, fio и Pokupka с полями idPokupatel и дата. Сделал на MS SQL, первичные и внешние ключи расставлены, и созданы связи посредством SQL Server Managment.

Теперь нужно вывести в dbgrid таблицу Pokupka но вместо поле idPokupatel нужно вывести пользователя у которого номер равен idPokupatel в таблице Pokupatel, то есть fio. У меня связь сделано ADOConnection - AOQuery - DataSource. C свойстве AOQuery пишу следующий запрос
Код:

select Pokupatel.fio, Pokupka.Data
from Pokupka
left join Pokupatel on Pokupka.idPokupatel=Pokupatel.id

Вроде должна вывести имя пользователя вместо числового id, но этого не происходит, в чем дело?
goto ∞ вне форума   Ответить с цитированием
Старый 12.09.2017, 22:34   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,984
Репутация: 6304
По умолчанию

А что происходит?
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 12.09.2017, 23:29   #3
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Адрес: 0x0000-0x9FFFFF
Сообщений: 119
Репутация: 9
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А что происходит?
В DBgrid выводит только дату, а поле idPokupatel пустой.
Вот скрин
http://programmersforum.ru/attachmen...1&d=1505244315

Если выполнить точно такой же sql запрос внутри SQL Server managment то все выполняется отлично.
http://programmersforum.ru/attachmen...1&d=1505244437

Скорее всего тут проблема в самом Дельфи, или я что то не так правильно соединил, хотя запрос вида select * from tabl работает.
Изображения
Тип файла: jpg 1.jpg (37.4 Кб, 6 просмотров)
Тип файла: jpg 2.jpg (27.9 Кб, 7 просмотров)
goto ∞ вне форума   Ответить с цитированием
Старый 12.09.2017, 23:50   #4
Sciv
Профессионал
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Адрес: Курган
Сообщений: 3,219
Репутация: 1231
По умолчанию

Цитата:
Сообщение от goto ∞ Посмотреть сообщение
или я что то не так правильно соединил
Походу вот это верно. Запрашиваете ФИО, а вывести пытаетесь ИД
__________________
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума   Ответить с цитированием
Старый 13.09.2017, 00:02   #5
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Адрес: 0x0000-0x9FFFFF
Сообщений: 119
Репутация: 9
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Походу вот это верно. Запрашиваете ФИО, а вывести пытаетесь ИД
как тогда должен выглядит запрос?
goto ∞ вне форума   Ответить с цитированием
Старый 13.09.2017, 06:16   #6
Slym
Профессионал
 
Регистрация: 07.12.2011
Адрес: Siberia
Сообщений: 1,020
Репутация: 759
По умолчанию

запрос правильный, сам грид перетряхните он запомнил id
__________________
Не стесняемся, плюсуем!
Slym на форуме   Ответить с цитированием
Старый 13.09.2017, 09:48   #7
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Адрес: 0x0000-0x9FFFFF
Сообщений: 119
Репутация: 9
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
запрос правильный, сам грид перетряхните он запомнил id
Да ты просто бог
Удалил и заново поставил компонент DBGrid. Не знал что делфи на такое способен )
goto ∞ вне форума   Ответить с цитированием
Старый 13.09.2017, 09:54   #8
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,984
Репутация: 6304
По умолчанию

Цитата:
Не знал что делфи на такое способен
сам же небось колонки создал в гриде. а делфи не способен ))
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.09.2017 в 09:58.
Аватар на форуме   Ответить с цитированием
Старый 13.09.2017, 09:58   #9
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Адрес: 0x0000-0x9FFFFF
Сообщений: 119
Репутация: 9
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
сам же небось колонки создал в нем. а делфи не способен ))
Вроде dbgride динамический создает в зависимости сколько колонок в таблице, ну я и не трогал её так то )
goto ∞ вне форума   Ответить с цитированием
Старый 13.09.2017, 10:16   #10
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Адрес: 0x0000-0x9FFFFF
Сообщений: 119
Репутация: 9
По умолчанию

Оказывается если делфи приложение связано с таблицами путем ADOConnection - AOQuery - DataSource, то перед изменением SQL запроса в компоненте AOQuery, нужно свойство этого компонента Active сделать false, потом изменить SQL запрос и поставить в true, иначе будет глюки как у меня.Может кому то из новичков поможет
goto ∞ вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод названия вместо ID mimimishka БД в Delphi 2 03.06.2017 02:49
вывод в див имен из бд и при нажатии вывод в отдельный див дополнительной информации об этом имени / PHP и базы данных looni123 JavaScript, Ajax 3 03.04.2014 21:26
Вывод пустых ячеек вместо 0000-00-00 bizarre86 PHP 5 15.04.2013 06:29
как вставить значение переменной в формулу ActiveCell.FormulaR1C1 = "=SUM(Лист1:Лист3!RC)" вместо имени листов. vneizvecnocty Microsoft Office Excel 3 25.03.2012 19:01


11:22.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru