Вниз
Скачать: CL | DM;

Ошибка Project raised exception class EIBInterBaseError with ...   Найти похожие ветки 

 
Иван   (2010-01-09 06:11) [0]

Извините за тупость =(

но из за чего может возникать ошибка на while (l<>U_ko) do BEGIN типы же совпадают и дальше цикл вроде должен выполняться

сама ошибка
Project raised exception class EIBInterBaseError with message "arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets" Process stopped. Use Step or Run to continue.


procedure TForm_D.BitBtn1Click(Sender: TObject);
var
kolvo, l, U_ko: integer;
dolj:string  ;
begin
l:=1;
Form_User.IBTable1.Last;
Form_D.Label1.Caption:=IntToStr(Form_User.IBTable1.RecNo);
U_ko:=Form_User.IBTable1.RecNo;
Form_User.IBTable1.First;

while (l<>U_ko) do BEGIN
Form1.DataSource1.DataSet:=IBQuery1;
Form1.IBQuery1.Close;
Form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add("select db1.fio_avtor, db1.NAZVANIE_KNIGI, db1.DATE_IN, db1.DATE_OUT,

db1.JANR, db1.STAT, db1.ID_USER");
Form1.IBQuery1.SQL.Add("from db1 where stat = ""Долг"" ");
Form1.IBQuery1.Open;
kolvo:=Form1.IBQuery1.RecordCount;
if (kolvo>=2) then begin
                   dolj:=Form_user.IBTable1.FieldByName("U_FIO").Value;
                   Form1.DataSource1.DataSet:=form_d.IBQuery1;
                   Form_D.IBTable1.Edit;
                   Form_D.IBTable1.FieldByName("D_FIO").Value:=dolj;
                   Form_D.IBTable1.Refresh;
                  end;          
l:=l+1;
Form_user.IBTable1.Next;
Form1.DataSource1.DataSet:=form_d.IBQuery1;
Form1.IBQuery1.Close;
Form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add("select db1.fio_avtor, db1.NAZVANIE_KNIGI, db1.DATE_IN, db1.DATE_OUT,

db1.JANR, db1.STAT, db1.ID_USER");
Form1.IBQuery1.SQL.Add("from db4 inner join db1 on db4.U_ID=db1.ID_USER");
Form1.IBQuery1.SQL.Add("where db4.U_FIO ="""+Form1.DBEdit1.Text+"""");
Form1.IBQuery1.Open;
                                         END;
end;


 
KilkennyCat ©   (2010-01-09 08:09) [1]

у тебя здесь два запроса и редактирование, имело бы смысл не заставлять народ работать процессором, а самому локализовать хотя бы место возникновения ошибки.


 
Ганя   (2010-01-09 11:49) [2]

На строчке while "(l<>U_ko) do BEGIN" данная ошибка не может возникнуть в принципе.
Эта ошибка может возникнуть при обращении к объектам базы


 
Иван   (2010-01-10 19:33) [3]

А из за чего может "возникнуть при обращении к объектам базы" ??


 
Ганя   (2010-01-10 20:53) [4]

для ответа на этот вопрос надо правильно локализовать место возникновения


 
Иван   (2010-01-10 22:05) [5]

просто сами запросы отдельно работают, а вот цикл типо не рабочий(
хотя я узнаю количество записей в другой таблице и оно правильное, да даже если просто поставить число он ругается(


 
sniknik ©   (2010-01-10 22:35) [6]

> А из за чего может "возникнуть при обращении к объектам базы" ??
в ошибке причина наприсана
> "arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets"


 
KilkennyCat ©   (2010-01-10 22:39) [7]


> а вот цикл типо не рабочий

а у тебя цикл типо неделимая хрень.
и ошибку сказало на выход из допустимых значений количества записей.
Вообщем, переустанавливай виндоуз.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
2-1263355369
Дмитрий С
2010-01-13 07:02
2010.03.14
Как правильно "захватить" исключение?


2-1262865203
V
2010-01-07 14:53
2010.03.14
Как быстро и красиво отрисовать огромный битмап?


9-1184674591
AlexanderMS
2007-07-17 16:16
2010.03.14
OpenGL или DirectX?


1-1240129263
Александр7
2009-04-19 12:21
2010.03.14
Добавление строк во всплывающее меню


15-1256249074
vuk
2009-10-23 02:04
2010.03.14
Много букв про музыкальную индустрию




   Наверх