![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поле не принимает значения
lesstab © (2011-09-05 13:05:00)
datamodul.qryTeacher.FieldByName('ClrKod').Value := datamodul.qryColor.FieldByName('Kod').Value;
datamodul.qryTeacher.Post;
Правая часть оператора присваивания имеет конкретное значение, но левая часть не принимает никакого значения, всегда остается Null. В чем может быть причина.
П.С. Ошибки не выдается. Сервер - Firebird 2.5. Соединение ADOConnection. Набор данных ADOQuery.
Anatoly Podgoretsky (2011-09-14 15:14:00) [1]> lesstab (14.09.2011 13:38:11) [11]
Разница в Value
lesstab (2011-09-14 13:38:00) [2]Вот это работает:
datamodul.qryTeacher.FieldByName('ClrKod').AsInteger := datamodul.qryColor.FieldByName('Kod').AsInteger;
А это нет:
datamodul.qryTeacher.FieldByName('ClrKod').Value := datamodul.qryColor.FieldByName('Kod').Value;
Вчем же разница?
Ega23 (2011-09-08 14:42:00) [3]
> А Edit/Append/Insert точно не пропустил?
Тогда было бы "Cannot perform this operation on a closed DataSet"
lesstab (2011-09-08 14:39:00) [4]
> А Edit/Append/Insert точно не пропустил?
Нет, несомненно.
Так как, нет времени, сейчас обхожу это место в программе. Куда же оно денется. ))
Очень Злой (2011-09-07 11:25:00) [5]
>
> if formtechedit.ModalResult = mrOK then
> begin
> datamodul.qryTeacher.FieldByName('ClrKod').Value
> := datamodul.qryColor.FieldByName('Kod').Value;
> ShowMessage('ïîëþ ïðèñâàèâàåòñÿ çíà÷åíèå ' + VarToStr(datamodul.
> qryColor.FieldByName('Kod').Value) + #13#10+'È ïîëå ïðèíÿëî
> çíà÷åíèå ' + VarToStr(datamodul.qryTeacher.FieldByName('ClrKod').
> Value));
> datamodul.qryTeacher.Post;
> end;
>
>
> Все равно результат тот.
А Edit/Append/Insert точно не пропустил?
lesstab (2011-09-06 07:26:00) [6]Вот объявление ДатаМодуля:
type
Tdatamodul = class(TDataModule)
connectionLesstab: TADOConnection;
qryCurriculum: TADOQuery;
qrySubject: TADOQuery;
dsrcCurriculum: TDataSource;
dsrcSubject: TDataSource;
qryColor: TADOQuery;
dsrcColor: TDataSource;
qryRoom: TADOQuery;
dsrcRoom: TDataSource;
qryTeacher: TADOQuery;
dsrcTeacher: TDataSource;
qryTeacherKOD: TLargeintField;
qryTeacherSTATE: TStringField;
qryTeacherNAME: TStringField;
qryTeacherROOM: TLargeintField;
qryTeacherCLRKOD: TLargeintField;
qryColorKOD: TLargeintField;
qryColorHEX: TStringField;
qryColorSTATE: TStringField;
procedure dsrcCurriculumDataChange(Sender: TObject; Field: TField);
procedure qrySubjectBeforePost(DataSet: TDataSet);
procedure qrySubjectAfterPost(DataSet: TDataSet);
procedure qryTeacherBeforePost(DataSet: TDataSet);
private
lesstab (2011-09-06 07:22:00) [7]
if formtechedit.ModalResult = mrOK then
begin
datamodul.qryTeacher.FieldByName('ClrKod').Value := datamodul.qryColor.FieldByName('Kod').Value;
ShowMessage('ïîëþ ïðèñâàèâàåòñÿ çíà÷åíèå ' + VarToStr(datamodul.qryColor.FieldByName('Kod').Value) + #13#10+'È ïîëå ïðèíÿëî çíà÷åíèå ' + VarToStr(datamodul.qryTeacher.FieldByName('ClrKod').Value));
datamodul.qryTeacher.Post;
end;
Все равно результат тот.
Медвежонок Пятачок (2011-09-05 17:20:00) [8]У меня не AsString.
У меня Value.
lesstab (2011-09-05 16:44:00) [9]
> Медвежонок Пятачок © (05.09.11 13:14) [3]
>
> а еще лучше так:
>
> ShowMessage('полю присваивается значение ' + VarToStr(datamodul.
> qryColor.FieldByName('Kod').Value) + #13#10'И поле приняло
> значение ' + VarToStr(datamodul.qryTeacher.FieldByName('ClrKod').
> Value));
if formtechedit.ModalResult = mrOK then
begin
datamodul.qryTeacher.FieldByName('ClrKod').Value := datamodul.qryColor.FieldByName('Kod').Value;
ShowMessage('ïîëþ ïðèñâàèâàåòñÿ çíà÷åíèå ' + datamodul.qryColor.FieldByName('Kod').AsString + #13#10+'È ïîëå ïðèíÿëî çíà÷åíèå ' + datamodul.qryTeacher.FieldByName('ClrKod').AsString);
datamodul.qryTeacher.Post;
end;
Вот результат:
http://img7.imageshack.us/img7/8683/append.th.png
Медвежонок Пятачок (2011-09-05 13:14:00) [10]а еще лучше так:
ShowMessage('полю присваивается значение ' + VarToStr(datamodul.qryColor.FieldByName('Kod').Value) + #13#10'И поле приняло значение ' + VarToStr(datamodul.qryTeacher.FieldByName('ClrKod').Value));
Медвежонок Пятачок (2011-09-05 13:08:00) [11]datamodul.qryTeacher.FieldByName('ClrKod').Value := datamodul.qryColor.FieldByName('Kod').Value;
ShowMessage('Поле таки принимает значение: 'VarToStr(datamodul.qryTeacher.FieldByName('ClrKod').Value));
Медвежонок Пятачок (2011-09-05 13:07:00) [12]скорее всего это оптический обман