Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: CL | DM;

Вниз

Как програмно добавить поле   Найти похожие ветки 

 
Sliften ©   (2003-06-29 20:38) [0]

Использую Query (SELECT * From myTable)
Далtе приходиться в ручную в FieldEditor добовлять все поля
Вопрос: а как програмно добавить поля? (покажите пример)


 
niko4543   (2003-06-29 23:06) [1]

Изменение состава полей таблици выполняется оператором
Alter Table:
Alter Table<Имя таблици>
ADD<имя поля><тип даных>,
и.т.д

Например
Alter Table Personal.db
ADD Section SMALLINT,
ADD Note CHAR(30);

Попробуй УДАЧИ.


 
Sliften ©   (2003-06-30 00:55) [2]

Alter Table как я понимаю это добовление в физическую таблицу
А мне надо добовлять в "FieldEditor" набора данных (например Query) чтобы в дальнейшем напимер проводить фильтрацию по "добавленуму" полю

Конечно возникнет вопрос Почему не добавить все поля?
Не пройдет потомучто кол-во физических полей зарание не известно(как следствие делаю запрос SELECT * )

динамические поля тоже не подойдут т,к имеется в (query) много look-up полей (да и не красиво это)


 
Rol   (2003-06-30 06:06) [3]

Для того, чтобы узнать имена полей Вы делаете select etc? Или я что-то не так понял?
А вообще, есть классы TFloatField, TStringField и т.д.


 
Geka ©   (2003-06-30 07:52) [4]

не обязательно использовать FieldEditor можно например так
Query.FieldbyName("FieldName").value


 
Sliften ©   (2003-06-30 16:57) [5]


> Geka © (30.06.03 07:52)
> не обязательно использовать FieldEditor можно например так
> Query.FieldbyName("FieldName").value


DM.Prises_Query.FieldByName("q1").Value;
Ошибка "Field не найден"
а не найден он потому что оно не указана в "FieldEditor" компанента query так как програно поле это обьявить


 
Sliften ©   (2003-07-02 23:45) [6]

Подскажите Еще способ


 
sniknik ©   (2003-07-03 00:14) [7]

SELECT *, 1 AS NewField From myTable
на месте еденицы может быть выражение


 
Ruslan Banshchikov ©   (2003-07-03 06:48) [8]

попробуй так:

var
NewField : TFloatField; или TStringField, или еще чего
begin
NewField := TFloatField.Create(...);
NewFieled.DisplayLabel:="имя нового поля";
NewFieled.DisplayWidth:=200; //размер поля
NewFieled.FieldName:="имя нового поля";
NewFieled.Name:="имя компанента query";
NewFieled.Origin:="имя_табл.имя_поля";
NewFieled.Size:=200; //размер поля
Query.Fields.Add(NewFieled);
...
end;


 
VAleksey ©   (2003-07-03 09:03) [9]


> Ошибка "Field не найден"
> а не найден он потому что оно не указана в "FieldEditor"
> компанента

А не найдено оно потому что нет такого поля. И FieldEditor тут не при чем.


 
Alkov   (2003-07-03 09:18) [10]

DM.Prises_Query.FieldByName("q1").Value;
или
DM.Prises_Query.Fields[0].Value;


 
FoxBox   (2003-07-03 09:22) [11]


> Sliften

Попробуй отказаться от редактора полей.
Используй только FieldByName в программе.
Может меня и коротит, но, возможно, дельфа
контролирует список доступных полей (если
используется Field Editor). Конечно, это
тянет на бред, но все-таки. И убедись,
что в SELECT"е действительно есть нужное
тебе поле (может ты где-нить переинициируешь
запрос, пересобираешь сам текст запроса...).

Как вариант, используй Fields[Индекс]

Query_.fieldbyname("myfield").asString
или
Query_.fields[5].asString



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

Текущий архив: 2003.07.24;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
3-77748
rosl
2003-06-30 09:19
2003.07.24
column в DBGrid


6-78036
Nesterovsky
2003-05-18 09:49
2003.07.24
Как сохранить сообщения TIdMessage.


3-77779
MalkoLinge
2003-07-02 13:33
2003.07.24
Что неправильно в запросе ?


3-77798
SkyWalker
2003-07-03 10:01
2003.07.24
IB + ISAPI = проблема


14-78152
vidiv
2003-07-02 13:50
2003.07.24
Зачем в первой цивилизации строить ...