Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Firebird 1.0 спотыкается на TIME   Найти похожие ветки 

 
Nick-From ©   (2004-09-20 14:08) [0]

Есть таблица:

CREATE DOMAIN tid AS INTEGER DEFAULT 0 NOT NULL;
CREATE DOMAIN tstr15 AS VARCHAR(15) DEFAULT "" NOT NULL COLLATE PXW_CYRL;
CREATE DOMAIN tprice AS DOUBLE PRECISION DEFAULT 0 NOT NULL CHECK (VALUE >= 0);
CREATE DOMAIN tdate AS DATE NOT NULL;
CREATE DOMAIN ttime AS TIME NOT NULL;

CREATE TABLE Calls
(
Nrec tid,
cOwner tid,
CallDate tdate,
CallTime ttime,
PhoneNumber tstr15,
CallType tstr15,
CallDirection tstr15,
CallDuration ttime,
CallCost tprice
);

Есть процедура добавления новой записи в таблицу:

CREATE PROCEDURE ADDNEWCALL
(
aNewNrec INTEGER,
aNewcOwner INTEGER,
aNewCallDate DATE,
aNewCallTime TIME,
aNewPhoneNumber VARCHAR(15),
aNewCallType VARCHAR(15),
aNewCallDirection VARCHAR(15),
aNewCallDuration TIME,
aNewCallCost DOUBLE PRECISION
)
AS
BEGIN
 INSERT INTO Calls (Nrec, cOwner, CallDate, CallTime, PhoneNumber, CallType, CallDirection, CallDuration, CallCost) VALUES (:aNewNrec, :aNewcOwner, :aNewCallDate, :aNewCallTime, :aNewPhoneNumber, :aNewCallType, :aNewCallDirection, :aNewCallDuration, :aNewCallCost);
END^

В клиенте описана запись, которую отправляем в процедуру:

 TCallInfo = record
   aCallDate: TDate;
   aCallTime: TTime;
   aPhoneNumber: string;
   aCallType: string;  
   aCallDirection: string;
   aCallDuration: TTime;  
   aCallCost: double;
 end;

Так вот, при вызове процедуры добавления, получаю ошибку:

Incompatible column/host variable data type. Dynamic SQL Error. SQL error code = -303. conversion error from string "0.000694444444444445"
Время, котрое вызывает эту ошибку = 00:01:00 - это его строковое представление.

Причем первое поле такого же типа (CallTime) нормально Обрабатывает. подскажите пожалуйста - в чем проблема?


 
Johnmen ©   (2004-09-20 14:38) [1]

>которую отправляем в процедуру:

Каким образом ?


 
Nick-From ©   (2004-09-20 14:49) [2]

pFIBQuery1.ExecProcedure("ADDNEWCALL",
                              [NewCallsNrec,
                               1,
                               aCIT[i].aCallDate,
                               aCIT[i].aCallTime,
                               aCIT[i].aPhoneNumber,
                               aCIT[i].aCallType,
                               aCIT[i].aCallDirection,
                               aCIT[i].aCallDuration,
                               aCIT[i].aCallCost]);


 
Nick-From ©   (2004-09-20 14:50) [3]

aCIT - TCallInfoTable = array of TCallInfo;


 
Johnmen ©   (2004-09-20 15:06) [4]

Если вместо aCIT[i].aCallDuration поставить "00:01:00" или "11:11:11", то ошибки нет ?


 
Nick-From ©   (2004-09-20 15:20) [5]

Ну да, при "00:01:00" и "11:11:11" все нормуль, в чем беда?


 
Johnmen ©   (2004-09-20 15:26) [6]

Я так подозреваю, что беда в некорректном преобразовании типа. И ошибка эта в FIB+.
Поэтому делай просто FormatDateTime("HH:NN:SS",aCIT[i].aCallDuration). А на досуге, конечно, можно поковыряться в исходниках фибов...:)


 
Nick-From ©   (2004-09-20 15:37) [7]

Да, так работает :), спасибо!



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

Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.034 c
3-1095660146
YurikGL
2004-09-20 10:02
2004.10.17
Запрос показывает не все записи


1-1096303053
Nkrd
2004-09-27 20:37
2004.10.17
активный richedit


1-1096383230
SMT
2004-09-28 18:53
2004.10.17
Литература по работе с Excel из Delphi


9-1087320308
ferr
2004-06-15 21:25
2004.10.17
Прошу разъяснить и помочь


3-1095664500
TahirProc
2004-09-20 11:15
2004.10.17
Ошибка при закрытии программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский