Текущий архив: 2007.09.09;
Скачать: CL | DM;
Вниз
oraclequery.prior - error какой-то детский Найти похожие ветки
← →
gentos (2007-08-14 15:34) [0]мастера не знаю в чем дело но есть следующий код
procedure TShowPictureForm.FormShow(Sender: TObject);
begin
q := PTreeview.SelPicture(ID);
q.Scrollable :=true;
q.Execute;
if q.FieldAsInteger("lvl")=1 then
tbPrior.Enabled := false;
common;
q.Next;
if q.Eof then
tbNext.Enabled := false;
end;
procedure TShowPictureForm.tbNextClick(Sender: TObject);
begin
tbPrior.Enabled := true;
common;
q.Next;
if q.Eof then
tbNext.Enabled := false;
end;
procedure TShowPictureForm.tbPriorClick(Sender: TObject);
begin
tbNext.Enabled := true;
q.Prior;
common;
if q.FieldAsInteger("lvl")=1 then
tbPrior.Enabled := false;
end;
и общая процедурка для 3 предыдущих
procedure TShowPictureForm.common();
begin
MStream := TMemoryStream.Create;
LobCreateTemporary(LOB);
Jpg:=TJPEGImage.Create;
Bit := TBitmap.Create;
LOB.Copy(q.LOBField("Picture"),q.LOBField("Picture").Size);
MStream.CopyFrom(LOB,LOB.Size);
MStream.Position:=0;
Jpg.LoadFromStream(MStream); // if jpg do bmp
Bit.Assign(Jpg);
img.Picture.Assign(Bit);
Jpg.Free;
Bit.Free;
MStream.Free;
LobFreeTemporary(LOB);
end;
да и есть функция пакета PTreeview.SelPicture ее не показываю так как там все правильно и что получается кнопочка вперед при ее нажатие делает то, что надо - то есть, выводи мне на екран следующую картинку а при нажатии на кнопку предыдущая картинка ругается следующими словами : You cannot access field data beyond Eof и как это понять ? :) я ще не выхожу за рамки выборки и свойствоq.Scrollable :=true;
сделал тру как хелп пишет , в чем прикол ? :)
← →
Плохиш © (2007-08-14 15:38) [1]В делфи встроена такая вещь, отладчиком кликают. Попробуй ей воспользоваться.
← →
Сергей М. © (2007-08-14 15:39) [2]Хня какая-то..
Укажи уже строчку в приведенном коде, которая вызывает исключение такое-то с таким-то сообщением..
← →
gentos (2007-08-14 15:47) [3]
>
> Сергей М. © (14.08.07 15:39) [2]
указал !, оказалось вместоq.prior
выполняется коммандаq.next
что это такое ? :)
← →
Плохиш © (2007-08-14 15:49) [4]
> оказалось вместо q.prior выполняется комманда q.next
Тут только два варианта или ошибка в вашей программе или ошибка в вашем компоненте, на который ссылается q.
← →
Сергей М. © (2007-08-14 15:51) [5]
> вместо q.prior выполняется комманда q.next
Вранье.
← →
gentos (2007-08-14 15:57) [6]
> Сергей М. © (14.08.07 15:51) [5]
смысла в этом нет !, мне это этого вранье пользы никакой
procedure TShowPictureForm.tbPriorClick(Sender: TObject);
begin
tbNext.Enabled := true;
q.Prior;
common;
// if q.FieldAsInteger("lvl")=1 then
// tbPrior.Enabled := false;
end;
при нажатии на эту клавишу выводит картинку после 2 не 1 , а 3 , то же самое было бы если бы я нажал на клавишу tbnext , код ее ниже
procedure TShowPictureForm.tbNextClick(Sender: TObject);
begin
tbPrior.Enabled := true;
common;
q.Next;
if q.Eof then
tbNext.Enabled := false;
end;
← →
Сергей М. © (2007-08-14 16:01) [7]
> gentos (14.08.07 15:57) [6]
> выводит картинку после 2 не 1 , а 3
Какие нахрен "картинки" ?)
← →
gentos (2007-08-14 16:02) [8]
> Сергей М. © (14.08.07 15:51) [5]
функция ораклевая в пакете красиво лежит никого не трогает
FUNCTION Sel_Picture( nID IN NUMBER ) RETURN T_REFCURSOR IS
CUR T_REFCURSOR;
BEGIN
OPEN CUR FOR select * from WDS$DOCUMENTBODY u where id=nID order BY u.lvl;
RETURN CUR;
END Sel_Picture;
← →
Сергей М. © (2007-08-14 16:03) [9]
> gentos (14.08.07 15:57) [6]
При движении курсора "взад" принято анализировать BOF.
Где у тебя этот анализ ?)
← →
Вася Правильный (2007-08-14 16:03) [10]
> q.Prior; common;
---
> common; q.Next;
разницу видишь?
а может у тебя на разные кнопки один обработчик назначен?
← →
gentos (2007-08-14 16:05) [11]
> Сергей М. © (14.08.07 16:01) [7]
я отсканировал по очереди 3 бумажки: на 1 бумажке - нарисована "1" на второй "2" , на третьей "3" и загнал их со сканера в базу , теперь я их оттуда высовываю , так как некоторые документы состоят из нескольки страниц , то есть возникла необходимость их листать туда сюда, сейчас вот это и реализовываю, так вот когда я нажимаю просмотр документа, то вначале появляется изображение с "1" когда клацаю "батоннекст" появляется изображение с "2" и вот когда клацаю , без разницы или влево или вправо, появляется "картинка с 3", вот так...
← →
gentos (2007-08-14 16:06) [12]
> Сергей М. © (14.08.07 16:03) [9]
а что такое BOF ?
← →
gentos (2007-08-14 16:07) [13]
> Вася Правильный (14.08.07 16:03) [10]
смотрел все ок от перестановки "доданкив" сумма не миняется :) так и здесь, скорее всего проблема в [9] , но я не знаю , что и как это :)
← →
gentos (2007-08-14 16:14) [14]
> Сергей М. © (14.08.07 16:03) [9]
а можете написать как этот "взад" анализировать ?
может функции вот так вот написать :
FUNCTION Sel_Picture( nID IN NUMBER ) RETURN T_REFCURSOR IS
CUR T_REFCURSOR;
cSQL1 VARCHAR2(500):="select * from WDS$DOCUMENTBODY u where id=:nID order BY u.lvl";
BEGIN
OPEN CUR FOR cSQL1 USING nID;;
END Sel_Picture;
тогда надо будет анализировать ?
← →
Вася Правильный (2007-08-14 16:14) [15]BOF = beginning of file
EOF = end of file
свойства у датасета такие
> от перестановки "доданкив" сумма не миняется
еще как меняется: сначала показать что-то, а потом переехать на другую запись или сначала переехать, а потом показать ее содержимое
← →
gentos (2007-08-14 16:20) [16]
> Вася Правильный (14.08.07 16:14) [15]
БОФ :)- я думал это что-то серьезное :), а насчет
> еще как меняется: сначала показать что-то, а потом переехать
> на другую запись или сначала переехать, а потом показать
> ее содержимое
в моем случае сначало необходимо поменять, а потом показать при нажатии на tbprior, а при нажатии на tbnext сначала показывают а потом перевожу так как я уже перевел при show формы, вот так
← →
Вася Правильный (2007-08-14 16:24) [17]
> а потом перевожу так как я уже перевел при show формы, вот так
плохо разваливать логику по разным углам
оттого и косяки
← →
gentos (2007-08-14 16:25) [18]
> Вася Правильный (14.08.07 16:24) [17]
>
> > а потом перевожу так как я уже перевел при show формы,
> вот так
>
> плохо разваливать логику по разным углам
> оттого и косяки
та нету тут никаких косяков :) эт уже наверное знак, что на сегодня уже писать хватит :)
Страницы: 1 вся ветка
Текущий архив: 2007.09.09;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.04 c