powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Isert into вылетает с ошибкой
25 сообщений из 30, страница 1 из 2
Isert into вылетает с ошибкой
    #37481560
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем привет!
заранее прошу прощения скорее всего за глупый вопрос... не знакома с этим языком...
у меня есть кусок кода:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
CALL SUPER::ue_import_data
dw_import.reset()
dw_import.importfile(text!,"")
vtrans_time = f_get_server_datetime()
vrow =  1 
DO WHILE vrow <= dw_import.rowcount() //5
	vbranchcode = dw_import.getitemstring(vrow,"branchcode")
	vphcode = dw_import.getitemstring(vrow,"phcode")
	vbranchcustcode = THIS.dw_import.getitemnumber(vrow,"branchcustcode")
	dw_import.setitem(vrow,"usercode",usercode)
	dw_import.setitem(vrow,"trans_time",vtrans_time)
	dw_import.setitem(vrow,"dsource", 1 )
	dw_import.setitem(vrow,"phcodestatus", 1 )
	dw_import.setitem(vrow,"picgiftlimit", 0 )
	dw_import.setitem(vrow,"picdebit", 0 )
	dw_import.setitem(vrow,"piccredit", 0 )
	dw_import.setitem(vrow,"picpoints", 0 )
	dw_import.setitem(vrow,"picdiscounts", 0 )
	dw_import.setitem(vrow,"picpurchase", 0 )
	dw_import.setitem(vrow,"picip", 0 )
	dw_import.setitem(vrow,"picdied", 0 )
	dw_import.setitem(vrow,"custpiccredit", 0 )
	dw_import.setitem(vrow,"custdebit", 0 )
	dw_import.setitem(vrow,"custcredit", 0 )
	dw_import.setitem(vrow,"custdateactive",datetime(date(vtrans_time)))
	dw_import.setitem(vrow,"orderbranchcode",vbranchcode)
	insert into localcustomerspoints ( branchcode , phcode , totpoints , conpoints ) values ( :ver_branch , :vphcode ,  0 . 0  ,  0 . 0  )  USING sqlca;
	IF sqlca.sqlcode <>  0  THEN //27
		messagebox("Error #222.54","Can NOT Save .. Consult vendor !!")
		ROLLBACK USING sqlca;
		RETURN
	END IF //27
	update lastdocnumbers set lastdocnumbers.branchcustcode =:vbranchcustcode where lastdocnumbers.branchcode =:ver_branch  USING sqlca;
	IF sqlca.sqlcode <>  0  THEN //33
		messagebox("Error #222.58","Can NOT Save .. Consult vendor !!")
		ROLLBACK USING sqlca;
		RETURN
	END IF //33
	vrow ++
LOOP //5
dw_import.accepttext()
IF dw_import.update() =  1  THEN //40
	COMMIT USING sqlca;

программа выдает эту ошибку - messagebox("Error #222.54","Can NOT Save .. Consult vendor !!")
какая может быть причина?
Насколько я понимаю по тексту кода - не срабатывает оператор insert into в таблицу базы localcustomerspoints ? из-за чего это может произойти? Исходников у меня нет, код этот нашла с помощью декомпилятора, специально, чтобы посмотреть что за ошибка... программа старая, к разработчику доступа нет... Что можно еще проверить?
Буду безумно благодарна за помощь!
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481627
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я подумала, может есть ограничение в таблице на число записей, но таблицу проверила - ограничений никаких не нашла.... помогите! :)
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481629
yaCooler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите в отладке содержимое переменной sqlca.sqlerrcode, там текст ошибки с SQL сервера
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481632
yaCooler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqlca.sqlerrtext конечно, не sqlerrcode :)
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481642
yaCooler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не заметил про отсутствие исходников)
Вставка в таблицу записи средствами самой субд отрабатывает?(pgadmin, sqladvantage и т.п.) Может-ли быть так, что :ver_branch , :vphcode содержат значения NULL? На сколько я вижу, эти данные выбираются из какого-то текстового файла. Может файл имеет некорректный формат? Ограничения на таблице отсутствуют, а на полях таблицы?
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481650
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как я могу запустить отладку, если у меня есть исполняемая программа и база данных? а исходного кода нет, только в декомпиляторе кусками? можно как-нибудь посмотреть эту переменную с помощью sybase central, например?
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481656
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yaCoolerНе заметил про отсутствие исходников)
Вставка в таблицу записи средствами самой субд отрабатывает?(pgadmin, sqladvantage и т.п.) Может-ли быть так, что :ver_branch , :vphcode содержат значения NULL? На сколько я вижу, эти данные выбираются из какого-то текстового файла. Может файл имеет некорректный формат? Ограничения на таблице отсутствуют, а на полях таблицы?
поняла направление, попробую посмотреть :) спасибо, если что-то получится/не получится отпишусь :)
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481666
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yaCooler,

а вот вопрос еще тогда, откуда он берет путь текстового файла, если в функцию передаются пустые кавычки?
Вообще поискала в кодах импорт файлов:
авторw_itemsimports.win->shl_2(statichyperlink)->Events->clicked (none) returns long [pbm_bnclicked]->
0004: PARENT.dw_1.importfile("c:\softech_imports1.txt")
0005: PARENT.dw_2.importfile("c:\softech_imports2.txt")
w_localcustomers_big.win->w_localcustomers_big(w_mainwindow_tab)->Events->ue_import_data (none) returns (none)->
0011: dw_import.importfile(text!,"")
w_localcustomers_big.win->cb_4(commandbutton)->Events->clicked (none) returns long [pbm_bnclicked]->
0005: PARENT.dw_import.importfile(text!,"C:\Import_PICs.txt")
w_stkbal_from_branch.win->pb_2(picturebutton)->Events->clicked (none) returns long [pbm_bnclicked]->
0021: PARENT.dw_2.importfile("c:\cfarma\dumpin\cn20_201.txt")
0023: PARENT.dw_1.importfile("c:\cfarma\dumpin\cn20_200.txt")
w_ft1.win->w_ft1(w_mainwindow_m2)->Events->uo_post_open (none) returns (none)->
0028: vretvalue = dw_6.importfile(text!,"c:\store12.txt")
0058: vretvalue = dw_6.importfile(text!,"c:\store122.txt")
w_stocktaking_fix.win->shl_2(statichyperlink)->Events->clicked (none) returns long [pbm_bnclicked]->
0030: PARENT.dw_6.importfile(g_softech_dir_path + "\config\items.dbf")
0032: PARENT.dw_7.importfile(g_softech_dir_path + "\config\itemsg1.txt")
w_to_web.win->cb_4(commandbutton)->Events->clicked (none) returns long [pbm_bnclicked]->
0018: PARENT.dw_10f.importfile("c:\cfarma\web\cfw0201.txt")
но половины этих файлов нет на месте... в этом и проблема может быть?
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481682
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eaboudy но половины этих файлов нет на месте... в этом и проблема может быть?
уже посмотрела, что если в качестве пути к файлу указывается пустая строка - должно открыться окно выбора файла :) надо проверить, может не тот файл выбирают....
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481691
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
messagebox("Error #222.54", sqlca.sqlerrtext )
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481706
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VanoRmessagebox("Error #222.54", sqlca.sqlerrtext )
нет у меня исходников, менять и запускать код не могу :(
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481709
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ой что я увидела.... ) insert into localcustomerspoints ( branchcode , phcode , totpoints , conpoints ) values ( :ver_branch , :vphcode , 0.0 , 0.0 )
а в таблице поле totpoints - должно быть не нулевым :)
я права? в этом проблема?
только непонятно, как программа раньше работала...
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481718
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот скриншот таблички
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481721
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eaboudyой что я увидела.... ) insert into localcustomerspoints ( branchcode , phcode , totpoints , conpoints ) values ( :ver_branch , :vphcode , 0.0 , 0.0 )
а в таблице поле totpoints - должно быть не нулевым :)
я права? в этом проблема?
только непонятно, как программа раньше работала...
Вообще то vphcode (как впрочем и ver_branch) берутся из импортируемого файла, так что если там хрень, то всё может быть :-)
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481722
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Филипп,
спасибо!
я про файл тоже так поняла, проверю что там, но мне кажется здесь с totpoints явная ошибка, верно? ведь в строке 'insert into' передается нулевое значение в поле с ограничением на нуль? или я что-то не увидела?
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481723
Ork_pb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eaboudy, и ещё NULL это не ноль, ноль вполне может быть в Вашем поле.
А вот с Филлипом соглашусь, смотрите файлы..
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481724
Ork_pb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EaboudyФилипп,
спасибо!
я про файл тоже так поняла, проверю что там, но мне кажется здесь с totpoints явная ошибка, верно? ведь в строке 'insert into' передается нулевое значение в поле с ограничением на нуль? или я что-то не увидела?

Повторюсь NULL не ноль, скорее пусто.. и это не ограничение на ноль, а скорее на отсутсвие значения в поле..
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481728
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ork_pbПовторюсь NULL не ноль, скорее пусто.. и это не ограничение на ноль, а скорее на отсутсвие значения в поле..
спасибо! а я уже обрадовалась, что нашла ошибку... :(
файла пока у меня нет, как будет - обязательно проверю. там же даже если, например, строка с пробелами дополнительная - тоже из-за этого ошибка может быть?
а какие-нибудь еще варианты есть? вдруг файл в порядке? где копать? ;)
может быть попробовать и правда вставить строку в таблицу с помощью sqladvantage?
только я боюсь базу испортить :)
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37481740
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вставила строки без проблем с sqladvantage - insert into localcustomerspoints ( branchcode , phcode , totpoints , conpoints ) values ( '55555', '1217757721212', 0.0 , 0.0 )... видимо все-таки файл корявый....
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37482066
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eaboudy,

Если программа работает через ODBC, можно включить trace и в нем поковыряться
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37482292
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ikir,

спасибо! а можно мне, чайнику, поподробнее - где этоn trace можно включить? ;) дело в том, что я обнаружила, скорее всего не тот это кусок кода, который мне нужен :( shudepb (у меня демо, конечно) отрезал код в функции update, а ошибка вылетает при записи такая же и вроде никакого файла там выбирать не надо, а тот код был в функции import...
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37482332
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть PBKiller, он код не режет - можно все кроме embedded SQL полностью восстановить. С Embedded параметры нормально восстановить не может.
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37482360
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eaboudy,


На клиентской стороне есть ODBC Data Source Administrator , там есть вкладка про трассировку.

На серверной стороне наверняка есть возможность мониторить конкретную сессию к серверу базы, обратитесь к DBA.
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37482394
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IkirEaboudy,


На клиентской стороне есть ODBC Data Source Administrator , там есть вкладка про трассировку.

На серверной стороне наверняка есть возможность мониторить конкретную сессию к серверу базы, обратитесь к DBA.

спасибо! попробую покапаться :)
...
Рейтинг: 0 / 0
Isert into вылетает с ошибкой
    #37482406
Eaboudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин МаркЕсть PBKiller, он код не режет - можно все кроме embedded SQL полностью восстановить. С Embedded параметры нормально восстановить не может.
не смогла в интернете найти рабочий PBKiller, тот который нашла, как я поняла не работает с powerbuilder 11-й версии. Если у Вас есть, пожалуйста, скиньне на aboudy@yandex. ru ;) конечно буду очень благодарна :)
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Isert into вылетает с ошибкой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]