Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22

Фильтрация по выбранной позиции

27.06.2013, 02:39. Показов 3058. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Прошу прощения если не правильно обозначил задачу, но как получилось.
Во всем этом я начинающий...
Так вот:
Есть БД написана в MS SQL 2012 c таблицами 'Регион', 'Область', 'Город' и так далее
В регионах записаны все регионы страны, в Областях все области страны с пометкой к какому региону относятся.
Делаю приложение к БД в С++ Builder 6
Как прикручивать таблицы к DBLookupComboBox более менее разобрался. Не могу решить следующую задачу: как отражать только те области в комбобоксе которые относятся к региону выбранному в первом комбобоксе.
Надеюсь суть понятна. Заранее благодарю.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.06.2013, 02:39
Ответы с готовыми решениями:

Передача позиции выбранной ячейки в DBGrid в другую форму
Здраствуйте. Сталкнулся с такой проблемой: Выбираю позицию в DBGrid, открываю редактировать в другой форме позиция переносится в начало....

Сохранение выбранной позиции ComboBox
Есть элемент управления поле со списком, (ComboBox) .lstSpCode.данные в котором управляются SQL-запросом с 2 полями SELECT *,* FROM … ...

Фильтрация в форме в зависимости от выбранной вкладки
Люди, помогите, пожалуйста, мне нужен в форме всунуть элемент НАБОР ВКЛАДОК и написать процедуры обработки событий, осуществляющую...

39
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
03.07.2013, 21:57
Студворк — интернет-сервис помощи студентам
Попробуй так
C++
1
2
3
4
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Text = "INSERT INTO [dbo].[TMP_Prov] ([id],[nombre]) select [id], [nombre] from Provincia where codaut = '"+DBText1->Caption.ToInt()"'";
ADOQuery2->ExecSQL();
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
04.07.2013, 01:19  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Попробуй так
C++
1
2
3
4
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Text = "INSERT INTO [dbo].[TMP_Prov] ([id],[nombre]) select [id], [nombre] from Provincia where codaut = '"+DBText1->Caption.ToInt()"'";
ADOQuery2->ExecSQL();
Спасибо. Разобрался с горем пополам. Как мне кажется проблема с переменной в запросе была в нескольких местах:
1. В моих первых попытках не было строчек:
ADOQuery2->Close();
ADOQuery2->SQL->Clear();

2. Не обратив внимания на то что поле TDBText а не TDBEdit и у него свойство Caption а не Text
3. Наглотавшись до нехочу всего этого придумал, что так как id у меня int то надо мне и такое DBText1->Caption.ToInt();, а такое мне не надо. Надо просто DBText1->Caption;
Расписал я это на случай если еще какой чайник как я попадется.
А вот с проблемой отображения результатотв так пока и не разобрался. Где-то вычитал как вариант переподкличить ДатаСоурс, но как-то мутно было рассказано.
Может есть у кого какие соображения по такому методу?
Заранее спасибо.
ЗЫ. Sasha +1 Респект.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.07.2013, 09:02
Цитата Сообщение от dubkonst Посмотреть сообщение
А вот с проблемой отображения результатотв так пока и не разобрался.
А какие там проблемы?
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
04.07.2013, 17:23  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
А какие там проблемы?
Да у меня как обычно самые примитивные проблемы.
После нажатия кнопки проверяю выбор пошел правильно а в от в комбобоксе где должен показывать не показывает.
Вычитал что можно через изменение на новый датасоурс, вроде работает но кривовато точнее через раз. Искал просто как отключить а потом опять подключить а нашел вот такой вариант, хотя по своему хорош, но совсем для других задач. ))
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.07.2013, 17:54
А как ты в комбобокс загоняешь данные?
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
05.07.2013, 07:11  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
А как ты в комбобокс загоняешь данные?
Я сначала пытался делать как советовали в начале темы, выдавая только саму "соль", опуская банальные, но для меня стратегически важные, моменты типа очистка запроса перед новым запросом и т.п. А теперь результаты загоняю во временную таблицу и ее пытаюсь посмотреть (точнее столбец из нее), пока выходит кривовато...

Добавлено через 5 минут
Сейчас подумываю едином листбоксе который при выборе (нажатии кнопки) запускает список из временной таблицы и в ДБТекст загоняет значение выбора...
Не знаю, может объяснить получилось коряво, но мне кажется прикольно будет да и место экономится. Форма меньше а пользы и наглядности больше...

Добавлено через 12 часов 53 минуты
Народ!!! Помогите пжлста. Нужно сделать обновление таблицы заполненной по условиям фильтрации и отобразить. Заполнение идет правильно (проверял в СКЛ) а не показывает....
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
05.07.2013, 09:03
Цитата Сообщение от dubkonst Посмотреть сообщение
Заполнение идет правильно (проверял в СКЛ) а не показывает....
Вызови повторно запрос на выборку после добавления и посмотри есть ли добавленные данные
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
06.07.2013, 01:06  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Вызови повторно запрос на выборку после добавления и посмотри есть ли добавленные данные
Данные в таблице есть, нет отображения в форме.
Сделал 3 разных кнопки для временной таблицы: очистка, заполнение и показ.
Выборка идет правильно и очистка тоже (проверяю через менеджер SQL), а вот в форме не отображается временная таблица точнее изменеия. Показывает последний вариант строк перед запуском приложения, а вот данные на текущий момент никак и хоть ты тресни. Вот и парюсь как заставить при нажатии кнопи каждый раз занова брать данные.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.07.2013, 13:03
А ты разные ADOQuery используешь для отображения и добавления?
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
06.07.2013, 13:18  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
А ты разные ADOQuery используешь для отображения и добавления?
Для добавления использую АДОКвери, а для просмотра сделал отдельно и АДОТабл и АДОСоурс и никак результат один и тот же
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.07.2013, 13:21
А ты не пробывал всё повесить на один ADOQuery и просмотр и добавление?
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
06.07.2013, 13:58  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
А ты не пробывал всё повесить на один ADOQuery и просмотр и добавление?
Без изменений
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.07.2013, 16:44
с изменением
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
07.07.2013, 17:37  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
с изменением
Я имел ввиду что результат тотже...
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
07.07.2013, 18:40
dubkonst, выложите свой проект.
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
07.07.2013, 18:42  [ТС]
Вот тут выискал по форуму решение похожей проблемы (как мне показалось).
Есть у меня отдельная кнопка лдя отображения после выборки
C++
1
2
3
4
5
void __fastcall TForm1::Button6Click(TObject *Sender)
{
DBLookupListBox1->DataSource->DataSet->Refresh();
DBLookupListBox1->ListSource=DataSource4;
}
Решением было вставка строки
C++
1
DBLookupListBox1->DataSource->DataSet->Refresh();
полсле нажатия кнопки (при выполнеини программы) выскакивает такая ошибка как на прикрепленной картинке.
Подскажите пожалуйста в чем проблема, как мне решить ее?
Миниатюры
Фильтрация по выбранной позиции  
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
07.07.2013, 18:46  [ТС]
Цитата Сообщение от The_Immortal Посмотреть сообщение
dubkonst, выложите свой проект.
Благодарю за ответ, а вот собственно и сам проект
C++
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
DBGrid1->DataSource=DataSource1;
DBLookupListBox1->ListSource=DataSource1;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
DBGrid1->DataSource=DataSource2;
DBLookupListBox1->ListSource=DataSource2;
DBLookupListBox1->DataSource->DataSet->Refresh();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
DBGrid1->DataSource=DataSource3;
DBLookupListBox1->ListSource=DataSource3;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text = "DELETE FROM [dbo].[TMP_Prov] WHERE id>0";
ADOQuery1->ExecSQL();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Text = "INSERT INTO [dbo].[TMP_Prov] ([id],[nombre]) select [id], [nombre] from Provincia where codaut="+DBText4->Caption;
ADOQuery2->ExecSQL();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button6Click(TObject *Sender)
{
DBLookupListBox1->DataSource->DataSet->Refresh();
DBLookupListBox1->ListSource=DataSource4;
}
//---------------------------------------------------------------------------
Проект немного замусорен лишними кнопками. Они были созданы для проверки по частям и для поиска решения методом тыка...
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
07.07.2013, 18:53
dubkonst, под "проектом" я имел в виду файлы проекта вместе с файлом БД, а не код
Или у Вас там какая-то секретная информация?
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
07.07.2013, 19:08  [ТС]
Цитата Сообщение от The_Immortal Посмотреть сообщение
dubkonst, под "проектом" я имел в виду файлы проекта вместе с файлом БД, а не код
Или у Вас там какая-то секретная информация?
Да нет там никакого секрета. Просто не понял что именно требуется.
БД в MS SQL2012
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 22
07.07.2013, 19:16  [ТС]
Что не получилось файлы прикрепить раньше
Вложения
Тип файла: zip Project.zip (334.8 Кб, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.07.2013, 19:16

AlertDialog - сохранение позиции выбранной радиобаттон
Друзья, очень нужна ваша помощь, бьюсь уже 2ой день над такой проблемой! final String item = {&quot;ENGLISH&quot;,...

Вывод информации в зависимости от выбранной позиции элемента в списке
Всем привет! Такой вопрос... Есть главная активити со списком, при нажатии на элемент которого пользователь перемещается на новый экран с...

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

Количество строк, которые одновременно имеют цифру на позиции n1 и букву на позиции n2
У Поликарпа возникла новая идея для занимательной статистики. Поэтому он просит Вас написать функцию fun_strings_stat(n1, n2 , *args),...

Перенос подстроки с указанной позиции предложения начиная с другой позиции
Нужна помощь Нужно перенести определенное слово с одной позиции на другую. Я написал такой код (pos_n-позиция, где изначально стояло...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru