Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.09;
Скачать: CL | DM;

Вниз

Не обновляется поле в базе   Найти похожие ветки 

 
Маша   (2003-05-21 10:59) [0]

Уважаемые Мастера, не соображу почему так.
Есть база данных ORACLE. В одной таблице есть поле типа NUMBER.
Надо разобрать текстовый файл и конвертнуть определенную позицию в файле в данное поле таблицы. Содержимое может быть и пустым и числом.
Написала код:
C4:string;
s4:integer;
....
c4:=Trim(Copy(stlist[i],22,2));
s4:=strToInt(c4);
Даллее SQL-запрос с Update. Содержимое s4 заносится в поле Number.
При выполнении программы выходит ошибка - "" is not integer type.
Что не так написала?
Помогите , пожалуйста.


 
Sergey13 ©   (2003-05-21 11:16) [1]

Ошибка Оракла или приложения? Похоже на второе.
Проверь отладчиком что получается в с4, может там и правда is not integer type


 
KoluChi ©   (2003-05-21 11:32) [2]

>Даллее SQL-запрос с Update. Содержимое s4 заносится в поле >Number.

Код, пожалуйста


 
Vigo   (2003-05-21 11:53) [3]

Функция StrToInt не может получать пустого значения в качестве аргумента. В вашем случае при передачи в Trim пустой строки, или строки, состоящей из пробелов в StrToInt передается nil.
Следует проверять c4 на пустоту. В случае, когда c4 = "", самостоятельно присваивать s4 0:

c4 := Trim(ля-ля-ля)

if c4="" then s4 := 0 else c4 := StrToInt(c4);

А вообще-то для таких целей в комплекте Oracle поставляется специальный инструмент SQL*Loader, который как раз и занимается загрузкой данных из текстовых файлов различного форматов и DBASE таблиц.


 
Маша   (2003-05-21 12:12) [4]

А код Запроса такой:

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add("update Route");
ADOQuery1.SQL.add("set port=:s4");
ADOQuery1.SQL.add("where comm_id=:c1 and name=:c3");
ADOQuery1.Parameters.ParamByName("s4").Value:=s4;
и т.д......


 
KoluChi ©   (2003-05-21 13:49) [5]

у ADOQuery1 параметр s4 какого типа?
тип поля port числовой?


 
Маша   (2003-05-21 14:50) [6]

s4 в Parameters не прописывала, но попробовала поставить Data Type=ftInteger. Результат тот же- "" is not is valid integer value.:-(


 
Val ©   (2003-05-21 15:03) [7]

>Маша (21.05.03 14:50)
да погодите вы с параметрами, проверьте сначала то, что советует Sergey13 © (21.05.03 11:16)
P.S. Либо форум в последнее время оживляется женским коллективом, либо кто-то стал использовать хитрые маскировки :)



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

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
1-26504
TCrash
2003-05-30 00:07
2003.06.09
Access violation


14-26680
Дмитрий К.К.
2003-05-25 11:21
2003.06.09
Именинники 25 мая


9-26326
Ketmar
2002-12-22 16:21
2003.06.09
всем


9-26327
Gayrus
2002-12-26 03:33
2003.06.09
OpenGL кажется глючит


3-26392
AlexAvz
2003-05-21 15:22
2003.06.09
БД PARADOX