Главная страница
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.013 c
1-26464
AndreyP
2003-05-29 13:27
2003.06.09
Как перебрать в цикле компоненты на форме?


4-26828
SaperXL
2003-04-07 21:42
2003.06.09
Перерисовка окна - её предотвращение


14-26769
Print
2003-05-22 15:08
2003.06.09
Как спрятать чужое приложение?


3-26336
Zn
2003-05-20 10:24
2003.06.09
Проблеммы с отображением поля Float из подчинён. таблицы


4-26838
sosv
2003-04-11 15:20
2003.06.09
Принадлежность точки к региону.