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

Вниз

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

 
Маша   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
14-26741
Dimaz-z
2003-05-22 15:08
2003.06.09
Тупой я - объясните значения слов


3-26386
al11
2003-05-19 17:21
2003.06.09
Никак не могу составить SQL запрос, помогите пожалуйста.


1-26467
Andryushka
2003-05-27 17:01
2003.06.09
Надо сделать CRC32 любого файла равной 0


14-26706
Michelin
2003-05-20 20:53
2003.06.09
Помогите разобраться с компонентами в Delphi.


1-26605
Project111
2003-05-28 17:10
2003.06.09
Excel...елки палки...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский