Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-77832
Shadow X
2003-07-09 09:38
2003.07.24
ShellTreeView


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


1-77843
edicon
2003-07-12 17:03
2003.07.24
Еще про защиту...


3-77737
Niko4543
2003-06-30 08:55
2003.07.24
Query


3-77745
AlexanderSK
2003-07-01 13:45
2003.07.24
TCP порт для InterBase-а





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский