Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание поля у AdoQuery, Гуглил. Нашёл решение. и ошибка памяти ( 
V
    Опции темы
Nowichok
Дата 29.7.2009, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Собственно, сабж - программно добавить поле к AdoQuery. Гуглил, нашёл решение. Сделал, работает, но при выходе из программы выдаёт ошибку памяти (Exception EInvalidPointer) ((
В растерянности, что к чему. Видать ошибка простая...а найти всё не могу.
Вот частично код:

Код

var
Field:TField;
.....
   Field:=TIntegerField.Create(DM.Query_prosto); // компонент в форме DM находится
   Field.FieldKind:=fkData;
   Field.FieldName:='N_Smeti';
   Field.Name:='Query_prostoField'+Field.FieldName;
   Field.DataSet:=DM.Query_prosto;

   DM.Query_prosto.Fields.Add(Field);
   DM.Query_Prosto.Open;
......


На этом основное всё. Если что - БД Access.
Надеюсь на вашу помощь )

Это сообщение отредактировал(а) Nowichok - 29.7.2009, 20:59
PM MAIL   Вверх
Akella
Дата 29.7.2009, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



А так?

Добавлено через 7 минут и 59 секунд
А так?


Ой, смотри, что нашли О_о

Добавлено через 11 минут и 1 секунду
О, а так?
PM MAIL   Вверх
Nowichok
Дата 29.7.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



O_o
Спасибо, конечно. Но причём тут запросы с изменением структуры самой таблицы?
Я уже писал, что искал в интернете. Решение по сути НАЙДЕНО.Поле динамически СОЗДАЁТСЯ. Но при выходе из программы выдаётся ошибка памяти. Не могу понять, на каком основании она получается ?
Чуток больше информации:
Код

var
New_f:TField;
....
New_f:=TIntegerField.Create(nil);
   New_f.FieldKind:=fkData;
   New_f.FieldName:='N_Smeti';
   New_f.Name:='Query_prostoField'+New_f.FieldName;
   New_f.DataSet:=DM.Query_prosto;

   DM.Query_prosto.Fields.Add(New_f);

   DM.Query_Prosto.SQL.Clear;
   DM.Query_Prosto.SQL.Add('Select N_smeti,Vid_rabot_opisanie,Summa_vozvrata From Smeta Where Id_uch='+id);

   DM.Query_Prosto.Open;
....


Если ставлю комментарий на строку DM.Query_prosto.Fields.Add(New_f); -  то всё работает без ошибок.  То есть загвозда в этой строчке. Почему, что не так делаю ?
PM MAIL   Вверх
Romikgy
Дата 29.7.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(Nowichok @  29.7.2009,  20:27 Найти цитируемый пост)
Но причём тут запросы с изменением структуры самой таблицы?

потому как саму суть искажаешь ... Query это запросы , и решать что либо надо запросами языка sql !
хочешь таким способом юзай ADOTable и какие траблы...


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Nowichok
Дата 29.7.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спортивный интерес. Такой уж я - привык решать проблемы.
Вроде и сделано верно...а где-то ошибка (

Закомментил DM.Query_Prosto.Open; - опять выдал ошибку.
Т.е. даже без открытия QUERY получается глюк (

PM MAIL   Вверх
Nowichok
Дата 29.7.2009, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Кажись, решение найдено.
Как видно даже из запроса - я в запросе выбирал поле N_smeti и сам добавлял поле N_smeti. Вот из-за повторения могло и глючить.
А моя проблема была решена строчкой 
Код

 DM.Query_prosto.Fields[0].DisplayLabel:='№ сметы';


Всё легко и просто и даже без динамического добавления поля )

Это сообщение отредактировал(а) Nowichok - 29.7.2009, 22:13
PM MAIL   Вверх
Akella
Дата 30.7.2009, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(Nowichok @  29.7.2009,  21:27 Найти цитируемый пост)
причём тут запросы с изменением структуры самой таблицы?


Цитата(Nowichok @  29.7.2009,  20:15 Найти цитируемый пост)
программно добавить поле к AdoQuery

Ну я тебя совсем не понимаю, чего же тебе нужно-то?

"Так его, Царь-батюшка понять не мудрено". (С) Иван Васильевич меняет профессию  smile

Добавлено через 2 минуты и 20 секунд
Цитата(Nowichok @  29.7.2009,  21:27 Найти цитируемый пост)
Не могу понять, на каком основании

Да, потребуй у своего кода отчёт  smile  на каком основании smile 
PM MAIL   Вверх
Akella
Дата 30.7.2009, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(Nowichok @  29.7.2009,  21:54 Найти цитируемый пост)
Как видно даже из запроса - я в запросе выбирал поле N_smeti и сам добавлял поле N_smeti. Вот из-за повторения могло и глючить.

 smile

Добавлено через 32 секунды
Nowichok, Пометь вопрос, как решённый. smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

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


 




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


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

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