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

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

Access+ADO [D7, XP]


aht ©   (2006-10-09 12:42:00) 

как грамотно вытащить длину текстового поля из сабжа?


aht   (2006-10-09 13:39:00) [1]

Плохиш, пасибо вроде работает :-)


aht   (2006-10-09 13:34:00) [2]


> select * from blablabla where 1=0

прикольно, а как интересно такое условие интерпретируется JET'ом...


Плохиш   (2006-10-09 13:29:00) [3]

select * from blablabla where 1=0


aht   (2006-10-09 13:25:00) [4]

select singleне работает, только что проверил :-)

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

вытащу я одну строчку и .Sizeпокажет мне размер текстового поля в БД, которое не может быть меньше значения этого поля.
тогда, небольшая корректировочка вопроса: как вытащить одну запись из БД, скажем первую (если делать простой select без ограничений в where,то вытаскиваются все данные => тормоза в будущем)?


Elen   (2006-10-09 13:08:00) [5]


>  Вот если бы вытащить хотябы одну строчку из базы, например,
>  как-то так:
> ADOQuery1.SQL.Add('select single F1 from DB_TABLE') Но,
> на сколько я понимаю, в дельфях такого нет ('select single')?
>

Во-первых ADO должно обращаться к провайдеру, а если там это есть то это сработает.
Во-вторых выташиш ты одну строчку а она покажет размер строки, который может быть меньше чем ограничение поля. Так ведь?


Elen   (2006-10-09 13:05:00) [6]


> ЮЮ

и ?


aht   (2006-10-09 13:04:00) [7]


> TStringField.Size
> Length(TStringField.asString)
>
> lLength(subj) = Length('Access+ADO') = 10

смешно :-)
вообще-то правильно так:
ADOQuery1.Fields[<номер_поля>].Sizeили так:
ADOQuery1.FieldByName[<номер_поля>].Size
но не хочется так делать, дабы не вытаскивать данные (придумывать ограничения и пр.). Вот если бы вытащить хотябы одну строчку из базы, например, как-то так:
ADOQuery1.SQL.Add('select single F1 from DB_TABLE')Но, на сколько я понимаю, в дельфях такого нет ('select single')?


ЮЮ   (2006-10-09 12:57:00) [8]

For string fields, DataSizeis one morethan the value of the Sizeproperty. The characters in the string can take up to Size bytes, and the extra byte is the null character at the end.


Elen   (2006-10-09 12:54:00) [9]


> aht

ADOQuery1.Fields[<номер_поля>].DataSize - ?
или имеется ввиду длину строки в поле?


ЮЮ   (2006-10-09 12:53:00) [10]

TStringField.Size
Length(TStringField.asString)

lLength(subj) = Length('Access+ADO') = 10


Наверх

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