![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как програмно добавить поле [D7, Paradox]
Sliften © (2003-06-29 20:38:00)Использую Query (SELECT * From myTable)
Далtе приходиться в ручную в FieldEditor добовлять все поля
Вопрос: а как програмно добавить поля? (покажите пример)
FoxBox (2003-07-03 09:22:00) [1]
> Sliften
Попробуй отказаться от редактора полей.
Используй только FieldByName в программе.
Может меня и коротит, но, возможно, дельфа
контролирует список доступных полей (если
используется Field Editor). Конечно, это
тянет на бред, но все-таки. И убедись,
что в SELECT"е действительно есть нужное
тебе поле (может ты где-нить переинициируешь
запрос, пересобираешь сам текст запроса...).
Как вариант, используй Fields[Индекс]
Query_.fieldbyname("myfield").asString
или
Query_.fields[5].asString
Alkov (2003-07-03 09:18:00) [2]DM.Prises_Query.FieldByName("q1").Value;
или
DM.Prises_Query.Fields[0].Value;
VAleksey (2003-07-03 09:03:00) [3]
> Ошибка "Field не найден"
> а не найден он потому что оно не указана в "FieldEditor"
> компанента
А не найдено оно потому что нет такого поля. И FieldEditor тут не при чем.
Ruslan Banshchikov (2003-07-03 06:48:00) [4]попробуй так:
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;
sniknik (2003-07-03 00:14:00) [5]SELECT *, 1 AS NewField From myTable
на месте еденицы может быть выражение
Sliften (2003-07-02 23:45:00) [6]Подскажите Еще способ
Sliften (2003-06-30 16:57:00) [7]
> Geka © (30.06.03 07:52)
> не обязательно использовать FieldEditor можно например так
> Query.FieldbyName("FieldName").value
DM.Prises_Query.FieldByName("q1").Value;
Ошибка "Field не найден"
а не найден он потому что оно не указана в "FieldEditor" компанента query так как програно поле это обьявить
Geka (2003-06-30 07:52:00) [8]не обязательно использовать FieldEditor можно например так
Query.FieldbyName("FieldName").value
Rol (2003-06-30 06:06:00) [9]Для того, чтобы узнать имена полей Вы делаете select etc? Или я что-то не так понял?
А вообще, есть классы TFloatField, TStringField и т.д.
Sliften (2003-06-30 00:55:00) [10]Alter Table как я понимаю это добовление в физическую таблицу
А мне надо добовлять в "FieldEditor" набора данных (например Query) чтобы в дальнейшем напимер проводить фильтрацию по "добавленуму" полю
Конечно возникнет вопрос Почему не добавить все поля?
Не пройдет потомучто кол-во физических полей зарание не известно(как следствие делаю запрос SELECT * )
динамические поля тоже не подойдут т,к имеется в (query) много look-up полей (да и не красиво это)
niko4543 (2003-06-29 23:06:00) [11]Изменение состава полей таблици выполняется оператором
Alter Table:
Alter Table<Имя таблици>
ADD<имя поля><тип даных>,
и.т.д
Например
Alter Table Personal.db
ADD Section SMALLINT,
ADD Note CHAR(30);
Попробуй УДАЧИ.