Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.07.2010, 11:11
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию Проблема при выводе в Label значения из запроса

Здравствуйте!
Возникла проблема при выводе в Label одного значения из запроса.
БД Oracle.
На данную форму в Label не выводится и выдает ошибку ''Access violation....'', а на другую форму выводит без ошибки.
Код:
procedure TStart_test.Button4Click(Sender: TObject);
var
r,i: integer;
begin
DataModule2.OracleQuery2.Next;

r:=DataModule2.OracleQuery2.Field('id_quest');
k:=0;

DataModule2.OQuery.SQL.Add('select a.*,b.quest from answer a, quest b where a.id_quest='+IntToStr(r)+'and b.id_test='+IntToStr(form1.idtest)+'and a.id_quest=b.id_quest');
DataModule2.OQuery.Execute;

Start_test.Label1.Caption:=DataModule2.OQuery.Field('quest');


mass[k]:=DataModule2.OQuery.Field('id_quest');

while not DataModule2.OQuery.Eof do

   begin
 inc(k);
  for i:=0 to ComponentCount-1 do
    begin
    if Components[i].Name = 'Edit' + IntToStr(k) then
      begin
        (Components[i] as TEdit).Text := DataModule2.OQuery.Field('Answer');
      end;

   end;


 DataModule2.OQuery.Next;


end;

DataModule2.OQuery.Close;
DataModule2.OQuery.Clear;
end;
Ответить с цитированием
  #2  
Старый 02.07.2010, 11:30
Аватар для Marvel
Marvel Marvel вне форума
Начинающий
 
Регистрация: 14.06.2010
Адрес: Пятигорск
Сообщения: 121
Репутация: 24
По умолчанию

попробуй так:
Код:
Start_test.Label1.Caption:=DataModule2.OQuery.FieldByName('quest').AsString;
и ещё надо посмотреть, создаётся ли форма Start_test, до попытки записи чего-то в Label1
__________________
Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы...


ICQ: 593977748
Nick: Marvel
Ответить с цитированием
  #3  
Старый 02.07.2010, 11:38
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию

Такого свойства в DAO нет, только то что написал в примере.
В showmessage выводит. А на форму нет
Ответить с цитированием
  #4  
Старый 02.07.2010, 11:47
Аватар для Marvel
Marvel Marvel вне форума
Начинающий
 
Регистрация: 14.06.2010
Адрес: Пятигорск
Сообщения: 121
Репутация: 24
По умолчанию

значит что-то с формой Start_test, я думаю она просто не создана в момент вывода текста на Label1
__________________
Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы...


ICQ: 593977748
Nick: Marvel
Ответить с цитированием
  #5  
Старый 02.07.2010, 12:06
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию

как проверить??
Ответить с цитированием
  #6  
Старый 02.07.2010, 12:11
Аватар для Marvel
Marvel Marvel вне форума
Начинающий
 
Регистрация: 14.06.2010
Адрес: Пятигорск
Сообщения: 121
Репутация: 24
По умолчанию

ну это вначале надо знать как форма создается, динамически или статически, нажмите Ctrl+Shift+F11 в проекте, там выскочит окно, вкладка Forms, если форма Start_test находиться в Available forms, значит она создаётся динамически, точнее вы сами должны её создавать:
Код:
with TStart_test.Create(Self) do
try
  ShowModal;
finally
  Free;
end;
попробуйте перенести её в Auto-create forms (если её тут конечно нету, если есть, то нужно на сам проект смотреть)
__________________
Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы...


ICQ: 593977748
Nick: Marvel

Последний раз редактировалось Marvel, 02.07.2010 в 12:19.
Ответить с цитированием
  #7  
Старый 02.07.2010, 15:47
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию

форма находится в auto create
Ответить с цитированием
  #8  
Старый 02.07.2010, 16:24
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

Код:
Label1.Caption:=DataModule2.OQuery.Field('quest');
Ответить с цитированием
  #9  
Старый 02.07.2010, 17:28
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

Скорее всего, у вас кроме модуля Start_test, еще где-то повторно объявлена переменная Start_test
Код:
var
  Start_test: TStart_test
Скорее всего в файле проекта.
Ответить с цитированием
  #10  
Старый 02.07.2010, 19:16
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию

Цитата:
Сообщение от Kapitoshka438
Код:
Label1.Caption:=DataModule2.OQuery.Field('quest');
Спасибо, Ваш совет помог))))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:11.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter