Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как програмно создать TField ? 
:(
    Опции темы
P&$
Дата 16.12.2002, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.7.2002

Репутация: нет
Всего: нет



Привет!
Озадачиваю!
1. Для Query, во время выполнения программы, надо  создать дополнительное поле (вычисляемое). Делаю так:
var ADR:TStringField;
begin
............
Query1.FieldDefs.Add('ADR',ftString,256);
    ADR:=TStringField.Create(Self);
    ADR.FieldKind:=fkCalculated;
    ADR.FieldName:='ADR';
    ADR.Calculated:=True;
    Query1.Fields.Add(ADR);
........
END;

При открытии запроса возникает ошибка, мол: Field 'ADR' has no dataset !

Вышел из положения тем, что создаю все поля в конструкторе, а затем ненужные Destroy. Но это, по моему, корявый выход. Как создать поле?

Решение нужно какможно скорее! (т.к. иначе предется пользоваться корявыми )
И исче:
2. Как из программы (exe) выполнять скрипты InterBase?

:notify
PM MAIL   Вверх
Medved
Дата 16.12.2002, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Не знаю, у меня твой код работает...... и открывает, и закрывает....


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Medved
Дата 16.12.2002, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата

2. Как из программы (exe) выполнять скрипты InterBase?


Что ты хочешь этим сказать? Абослютно непонятно....

Если ты хочешь выполнить скрипт из приложения, написанного тобой, то просто весь скрипт загоняешь в свойство SQL компонента TQuery, а затем выпоняешь метод Execute (Query1.Execute).


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
P&$
Дата 17.12.2002, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.7.2002

Репутация: нет
Всего: нет



Да загоняю!
Пример скрипта:

CREATE TABLE TovarGr (
kod SMALLINT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL
);
CREATE GENERATOR k_TovarGr;
SET GENERATOR k_TovarGr TO 0;
SET TERM ^;
CREATE TRIGGER id_TovarGr FOR TovarGr
ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.kod IS NULL) THEN
NEW.kod=GEN_ID(k_TovarGr,1) ;
END^
SET TERM ;^

Он выполняет только первую, а на остальные ругается. Я подозреваю в нем синтаксис изменяется, но как?!
PM MAIL   Вверх
Medved
Дата 18.12.2002, 02:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Попробуй убрать "SET TERM ^"; и знак "^"; //Хотя однозначно не могу гарантировать, что будет работать....




--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
P&$
Дата 18.12.2002, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.7.2002

Репутация: нет
Всего: нет



Да он ругается уже на CREATE GENERATOR, т.е. я так понимаю, что разделитель SQL команд в скрипте не как в самом IB   ; а какой-то другой.
PM MAIL   Вверх
Fantasist
Дата 19.12.2002, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: нет
Всего: 41



Возможно стоит востпользоваться компонентами IB (IBQuery,IBSQL).


--------------------
Волны гасят ветер...
PM MAIL   Вверх
P&$
Дата 19.12.2002, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.7.2002

Репутация: нет
Всего: нет



Дык я ими и пользуюсь!  :huh
Delphi 5 IB 5 ? Но ругаетси! :thumbs-up
PM MAIL   Вверх
Medved
Дата 20.12.2002, 04:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата

Да он ругается уже на CREATE GENERATOR, т.е. я так понимаю, что разделитель SQL команд в скрипте не как в самом IB   ; а какой-то другой.


А на что именно он у тебя ругается? Запости сообщение об ошибке...


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
P&$
Дата 20.12.2002, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.7.2002

Репутация: нет
Всего: нет



Dynamic SQL Error
SQL error code = -104
Token unknown - line 7 char -1
CREATE.

Мол не знает он команды create! (Но это-ж отмаз )
:sneaky2
Если "скармливаю" скрипт isql то все зашибись.
А Вы вообще такое делали?

Еще вопрос назрел, тут по дури установил Delphi и IB 6 - потом решил вернуть 5 (ну на работе 5, а дома "решил поэксперементировать"), теперь IB5 не работает, я уже все файлы, что в ib_install.log принес с рабочего компа (тат то все в норме) - нифига - делает вид что работает, а при попытке создать таблицу пишет мол нет коннекта с базой ( IBGuard в левом углу аж краснеет) err - 901. Это смертельно? (То бишь Win сносить, или в реестре можно поковыряться?)
PM MAIL   Вверх
Medved
Дата 21.12.2002, 04:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Это конечно не смертельно, но лучше все переустановить.... ИМХО самый быстрый способ....


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0941 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.