Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Заполнение DBListBox при помощи StoredProc [D5, MSSQL]


kirillrepin ©   (2008-08-18 16:41:00) 

Подскажите пожалуйста как заполнить DBListBox при помощи StoredProc (возвращает выборку)?


clickmaker   (2008-08-19 11:01:00) [1]

> Если так непременно надо Items.Add использовать - возьми
> обычный TListBox

Не всегда. DBListBox может подойти, если надо в поле базы записать какое-либо число с описанием. Н-р, некий статус, для которого нет отдельного справочника, набор констант


KirillRepin   (2008-08-19 10:59:00) [2]

Удалено модератором


Ega23   (2008-08-19 10:54:00) [3]


> А возможно давать конкретный ответ на поставленный вопрос,
>  и не разводить философию.


Конкретный ответ - этот контрол не предназначен для таких операций. Если так непременно надо Items.Add использовать - возьми обычный TListBox. И почитай, в чём разница между TListBox и TDBListBox. Объяснять - очень долго.


> каждый дро....ит как хочет!


Не хами.


clickmaker   (2008-08-19 10:51:00) [4]

> [16] KirillRepin ©   (19.08.08 10:40)

Кстати, стоит прислушаться.
Если данные в списке из справочника и есть связь ОсновнаяТаблица.КакойтоID - Справочник.ID, то проще юзать какой-нибудь Lookup-control


KirillRepin   (2008-08-19 10:40:00) [5]


> Это попытка забить молоток гвоздём.

А возможно давать конкретный ответ на поставленный вопрос, и не разводить философию.
каждый дро....ит как хочет!


Ega23   (2008-08-19 10:30:00) [6]

DBListBox1.Items.Add(StoredProc1.Fields[0].AsString);

Это попытка забить молоток гвоздём.


MsGuns   (2008-08-18 22:21:00) [7]

Маразм крепчал

Может, хоть немного почитать о назначении DB-aware контролов и хранимых процедур на сервере ?


KirillRepin   (2008-08-18 18:44:00) [8]


> ну, возможно,
> DataSet у DataSource либо только для чтения


>  либо CachedUpdates выключены

CachedUpdates был выключен, включил попробовал все тоже самое.
DataSet у DataSource либо только для чтения - не нашел где посмотреть


clickmaker   (2008-08-18 18:32:00) [9]

ну, возможно, DataSet у DataSource либо только для чтения, либо CachedUpdates выключены


KirillRepin   (2008-08-18 18:31:00) [10]


> DataSource & DataField назначены?
> Для чего вообще тебе этот список нужен?


да конечно


clickmaker   (2008-08-18 18:29:00) [11]

> [9] KirillRepin ©   (18.08.08 18:05)

DataSource & DataField назначены?
Для чего вообще тебе этот список нужен?


KirillRepin   (2008-08-18 18:05:00) [12]

подскажите пожалуйста, при таком заполнении неработает селект по списку.
выделяется последняя запись и другую выделить не возможно.
что делать?


KirillRepin   (2008-08-18 17:08:00) [13]

попробовал
while not StoredProc1.eof do
 begin
   DBListBox1.Items.Add(StoredProc1.Fields[0].AsString);
  StoredProc1.Next;
 end;

все получилось.
спасибо большое все за помошь!


stas   (2008-08-18 17:05:00) [14]

И если вам его нужно наполнять из базы, то можно использовать dbLookupListbox


stas   (2008-08-18 17:03:00) [15]

Конечно будет виснуть
while not StoredProc1.eof do
  begin
    DBListBox1.Items.Add(StoredProc1. Fields[0].AsString);
    StoredProc1.Next;
  end;


clickmaker   (2008-08-18 17:02:00) [16]

> тоже не работает "виснет"

теперь осталось выяснить, причем здесь Params, если "возвращает выборку" и почему виснет


KirillRepin   (2008-08-18 16:56:00) [17]


> (TStoredProc is TDataSet) = True
>
> В чём проблема?

проблема в том что не отображается информация в DBListBox.

пробовал так:
 StoredProc1.Active := True;
 while not StoredProc1.eof do
   begin
     DBListBox1.Items.Add(StoredProc1.Params[0].AsString);
   end;

тоже не работает "виснет"


Ega23   (2008-08-18 16:50:00) [18]

(TStoredProc is TDataSet) = True

В чём проблема?


clickmaker   (2008-08-18 16:50:00) [19]

while not sp.eof do begin
cmb.items.add


stas   (2008-08-18 16:49:00) [20]

так же, как и DataSet, а в чем вопрос?


Наверх

Титульная страница Поиск, карта сайта Написать письмо