Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.05.31;
Скачать: [xml.tar.bz2];

Вниз

Получить записи столбца TDbf   Найти похожие ветки 

 
Получатель   (2009-04-19 15:58) [0]

Здравствуйте, подскажите, как получить все значения столбца таблицы в dbf, просто результат в TStrings или подобное, без TDBGrid и прочих визуальных компонент. Пытался понять как это делает TDBGrid, но там куча классов друг на друге завязанных, не нашел :(
Нужен просто результат как при подобном запросе (мне нужен вообще один столбец, но получение в результате остальных не кретично, даже лучше):
select * from table1
только используя TDbf (ну если необходимо то dataset и прочие не видульные), т.е. насколько я понял, сделать скрытый TDBGrid и вытащить как из какого нибудь Tstringgrid тоже не получится, данных как таковых в нем нет.


 
Виталий Панасенко(дом)   (2009-04-19 18:14) [1]


> TDBGrid и вытащить как из какого нибудь Tstringgrid тоже
> не получится, данных как таковых в нем нет.

Да, празднование, видимо, затянулось..Сам понял, что написал? Данные в открытом НД есть(хоть их и не видно).


 
Amoeba ©   (2009-04-19 19:26) [2]

Цикл по открытому DataSet с добавлением значения поля в StringGrid.

Такой вариант устроит?
DataSet.First;
while not DataSet.Eof do
begin
 StringList.Add(DataSet.Fileds[N].Value);
 DataSet.Next;
end;


 
Отправитель   (2009-04-19 20:23) [3]

такого детского сада даже год назад здесь не было


 
antonn ©   (2009-04-20 01:26) [4]

Dbf.RecNo:=1; //номер нужной строки делает текущим, отсчет от еденицы вроде бы
ну и получить данные столбца текущей строки:
Dbf.Fields[0].AsString;


 
Германн ©   (2009-04-20 01:53) [5]


> Отправитель   (19.04.09 20:23) [3]
>
> такого детского сада даже год назад здесь не было
>

А ты знаешь/хорошо знаешь/ прекрасно знаешь компонент TDbf?
Или вопрос прочитал "не думая"?

P.S. Детского сада тут хватает. Как хватало и год, и два, ну и более назад.


 
antonn ©   (2009-04-20 02:04) [6]

кстати, сегодня вот пришлось дбф"ики ковырять, наткнулся на два TDbf, один с сорсами на мегабайт, дружит с датасетами и многими типами из uses db, второй, насколько я понял, напрямую файловыми операциями работает, возможностей и расширяемости гораздо меньше. Синтаксис немного разный, у второго с пол пинка можно было сделать то, что нужно автору, но можно и через первый, даже без датасетов.

а невидимый dbgrid, хоть "можно", хоть "нельзя" - это костыль.

PS тоже смотрел код TDBGrid, немного не понял, там при каждом обновлении (перерисовке) поля идет запрос к базе или нет? при каждом обновлении списка строк запрос на каждую строку или "пакетом"? мускл сильно развращает, там каждый запрос считаешь, а тут как бы пофиг :)


 
Германн ©   (2009-04-20 02:48) [7]


> antonn ©   (20.04.09 02:04) [6]
>
> кстати, сегодня вот пришлось дбф"ики ковырять

Сочувствую. "Ковырять" дбф-ки я даже врагу не пожелаю!
Даже всеми гонимый Парадокс и то лучше/проще. :)


 
Anatoly Podgoretsky ©   (2009-04-20 08:47) [8]

> Германн  (20.04.2009 2:48:07)  [7]

Ковырять ДБФ не просто, а очень просто, простая линейная и документированая структура, куча инструмента.
Вопрос стоять так - а нафиг это нужно, чем то обосновано? Может лучше восспользоваться стандартными средствами?


 
antonn ©   (2009-04-20 09:23) [9]

ну в моей задаче стоял вопрос - база аксесса или дбф. После того, как я покрутился с ODBC, с ADO (а бде ставить нельзя, чужая машина) - я остановился на дбф, все проще с теми же целями, чем пляски с бубном вокруг mdb :)

и в общем не так уж сложно, с несложными классами напоминает работу с обычным типизированным файлом :)


> Вопрос стоять так - а нафиг это нужно, чем то обосновано?
>  Может лучше восспользоваться стандартными средствами?
>

ради импорта юзать такие навороты? оно не стоит того, имхо.


 
Anatoly Podgoretsky ©   (2009-04-20 09:31) [10]

> antonn  (20.04.2009 9:23:09)  [9]

Нифига себе навороты - написать правильную строку подключения.


 
Виталий Панасенко(дом)   (2009-04-20 10:50) [11]


> antonn ©   (20.04.09 01:26) [4]
>
> Dbf.RecNo:=1; //номер нужной строки делает текущим, отсчет
> от еденицы вроде бы
> ну и получить данные столбца текущей строки:
> Dbf.Fields[0].AsString;

Мдя...дельный совет...


 
antonn ©   (2009-04-20 22:36) [12]


> Мдя...дельный совет...

при этом правильный (ибо документированный) и уж куда более информативный, чем ваши два поста.


 
Amoeba ©   (2009-04-20 23:30) [13]


> antonn ©   (20.04.09 22:36) [12]
>
>
> > Мдя...дельный совет...
>
> при этом правильный (ибо документированный) и уж куда более
> информативный, чем ваши два поста.

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


 
antonn ©   (2009-04-21 01:00) [14]


> Amoeba ©   (20.04.09 23:30) [13]
>
>
> Идти лесом посылать за такие "правильные" советы.

что именно не нравится? dbf можно прочесть по "физическим" строкам.


 
Германн ©   (2009-04-21 01:33) [15]


> antonn ©   (21.04.09 01:00) [14]
>
>
> > Amoeba ©   (20.04.09 23:30) [13]
> >
> >
> > Идти лесом посылать за такие "правильные" советы.
>
> что именно не нравится? dbf можно прочесть по "физическим"
> строкам.
>

Не могу различить "правильные" и "неправильные" советы.
Но всё таки. В сабже было явно указано
> только используя TDbf (ну если необходимо то dataset и прочие
> не видульные)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.05.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1240069481
Coming
2009-04-18 19:44
2009.05.31
Преобразование строк


2-1239869866
CodeMaster
2009-04-16 12:17
2009.05.31
Winamp - Visual API


15-1234785296
Василий Жогарев
2009-02-16 14:54
2009.05.31
MSQ SQL Server 2005


15-1237503177
KilkennyCat
2009-03-20 01:52
2009.05.31
Интересные ссылки.


9-1179840980
ElectriC
2007-05-22 17:36
2009.05.31
Мой 1-й движок





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский