Форум: "Базы";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];
ВнизКак програмно добавить поле Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c