Topic: Вопрос о заполнении ComboBox через SQL

Доброго дня!
Подскажите как через SQL выполнить заполнение CB таким образом, что бы в текстовую часть записать значение из 2-3 полей БД?

Я понимаю как написать SQL, как собирать цикл, но не понимаю какой тип переменной применять для обработки массива SQL

Re: Вопрос о заполнении ComboBox через SQL

Hello Indigen,
Это то, что вам нужно?
Regards,
Derek.

Post's attachments

Attachment icon comboxsql.zip 336.2 kb, 369 downloads since 2018-11-29 

Re: Вопрос о заполнении ComboBox через SQL

И снова здравствуйте,
Извините, я думаю, что предыдущий работает только в 5.00
Попробуйте это вместо этого.
Derek

Post's attachments

Attachment icon comboxsql2.zip 336.19 kb, 381 downloads since 2018-11-29 

Re: Вопрос о заполнении ComboBox через SQL

Несовсем, мне надо получить в списке строки вида "RED Красный", "Blue Синий" и т.д.

Изменил пример как вводный. Теперь там 2 колонки с данными.

Re: Вопрос о заполнении ComboBox через SQL

И да, у меня версия 5, не беспокойтесь. Благодарю за помощь.

Re: Вопрос о заполнении ComboBox через SQL

Можете заполнить ComboBox произвольным SQL запросом с помощью метода dbSQLExecute


 Form1.ComboBox1.dbSQLExecute ('SELECT fieldname, id FROM tablename');

обратите внимание, что в SQL запросе упомянуто поле id, чтобы компонент мог знать, какой записи в базе данных принадлежит выбранная строка. Допускается SQL запрос и без упоминания поля id, но в таком случае будет невозможно узнать, какой идентификатор записи имеет выбранная строка.

Dmitry.

Re: Вопрос о заполнении ComboBox через SQL

Дмитрий, добрый здравствуйте. Да, обычно этого хватает, но вот сейчас тот случай когда мне надо что бы был обработан запрос "SELECT fieldname1, fieldname2, id FROM tablename"

Подскажите как правильно сделать:
1. Получить в массив результат вышеуказанного запроса
2. Собрать цикл for для заполнения combobox через dbAddItem

Собственно мне надо получить аналог записи {field1} {field2}

Re: Вопрос о заполнении ComboBox через SQL

Можно прям в SQL запросе склеить два поля, пример

 Form1.ComboBox1.dbSQLExecute ('SELECT fieldname1 || '' '' || fieldname1, id FROM tablename');
Dmitry.

Re: Вопрос о заполнении ComboBox через SQL

Спасибо!

Re: Вопрос о заполнении ComboBox через SQL

Подскажите как добавить к полю текст?
Написал такой код:
Add_IzdBook.ComboBox3.dbSQLExecute('SELECT record_count,id FROM Ishod union all select record_count||''дсп'',id FROM Ishod_d order by record_count,record_count');

НЕ РАБОТАЕТ(

Re: Вопрос о заполнении ComboBox через SQL

delphinsl wrote:

Подскажите как добавить к полю текст?
Написал такой код:
Add_IzdBook.ComboBox3.dbSQLExecute('SELECT record_count,id FROM Ishod union all select record_count||''дсп'',id FROM Ishod_d order by record_count,record_count');

НЕ РАБОТАЕТ(

При использовании UNION необходимо, чтобы типы полей в объединяемых запросах полностью совпадали:

SELECT 
cast(record_count as text),id FROM Ishod 
union all 
select cast(record_count || 'дсп' as text),id FROM Ishod_d 
order by 1
Визуальное программирование: блог и телеграм-канал.

Re: Вопрос о заполнении ComboBox через SQL

Спасибо все заработало только необходимо 'дсп' записать ''дсп'' - две одинарные ковычки