powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как дебажить Command.ExecuteNonQuery
7 сообщений из 7, страница 1 из 1
Как дебажить Command.ExecuteNonQuery
    #39807270
Quantum181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Раньше делал все на SQL-инъекциях, принял волевое решение прекратить!

Теперь возникла проблема:
Код: vbnet
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.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
Dim s As String = "insert into scl_artc (COD_ARTIC, NGROUP_TVR, NAME_ARTIC, CENA_ARTIC, PRIZN_VALT, CENA_VALT, COD_VALT, NDS_ARTIC," &
                       " NDS_TORGN, NACH_KOLCH, KON_KOLCH, REZ_KOLCH, EDIN_IZMER, VES_EDINIC, EDN_V_UPAK, MIN_PARTIA," &
                       " DLINA_ART, SHIRIN_ART, VYSOTA_ART, RAZM_IZMER, SCHET_ART, DOP1_ARTIC, DOP2_ARTIC, UCHET_CENA," &
                       " UCHET_VALT, UCHET_SUM, UCHET_SMVL, KOL_SUM, NGROUP_TV2, UCHET_0_C, NAL1_ART, NAL2_ART, " &
                       " UCHET_0_VL, FIX_NACEN, CENA_BZNAL, CENA_V_BZN, NGROUP_TV3, NGROUP_TV4, NGROUP_TV5, NGROUP_TV6," &
                       " PRICE_LIST, DOP3_ARTIC, COEF_BZNAL, OKDP_ARTIC, MIN_TVRZAP, MAX_TVRZAP, ID_SCLAD, BALL1," &
                       " BALL2, BALL3, BALL4, BALL5, DEPARTAM, NAL_PROD, TIP_TOVR)" &
            "values(@COD_ARTIC, @NGROUP_TVR, NULLIF(@NAME_ARTIC,''), @CENA_ARTIC, @PRIZN_VALT, @CENA_VALT, NULLIF(@COD_VALT,''), @NDS_ARTIC," &
                       " @NDS_TORGN, @NACH_KOLCH, @KON_KOLCH, @REZ_KOLCH, NULLIF(@EDIN_IZMER,''), @VES_EDINIC, @EDN_V_UPAK, @MIN_PARTIA," &
                       " @DLINA_ART, @SHIRIN_ART, @VYSOTA_ART, NULLIF(@RAZM_IZMER,''), NULLIF(@SCHET_ART,''), NULLIF(@DOP1_ARTIC,''), NULLIF(@DOP2_ARTIC,''), @UCHET_CENA," &
                       " @UCHET_VALT, @UCHET_SUM, @UCHET_SMVL, @KOL_SUM, NULLIF(@NGROUP_TV2,''), @UCHET_0_C, @NAL1_ART, @NAL2_ART, " &
                       " @UCHET_0_VL, @FIX_NACEN, @CENA_BZNAL, @CENA_V_BZN, NULLIF(@NGROUP_TV3,''), NULLIF(@NGROUP_TV4,''), NULLIF(@NGROUP_TV5,''), NULLIF(@NGROUP_TV6,'')," &
                       " @PRICE_LIST, NULLIF(@DOP3_ARTIC, @COEF_BZNAL, NULLIF(@OKDP_ARTIC,''), @MIN_TVRZAP, @MAX_TVRZAP, @ID_SCLAD, @BALL1," &
                       " @BALL2, @BALL3, @BALL4, @BALL5, @DEPARTAM, @NAL_PROD, NULLIF(@TIP_TOVR,''))"

            Dim InsertCommand As New SqlCommand(s, conn)

            InsertCommand.Parameters.AddWithValue("@COD_ARTIC", NAME_PREDM)
            InsertCommand.Parameters.AddWithValue("@NGROUP_TVR", IIf(NGROUP_TVR = "", "Новые загруженные товары", NGROUP_TVR))
            InsertCommand.Parameters.AddWithValue("@NAME_ARTIC", Name_Artic)
            InsertCommand.Parameters.AddWithValue("@CENA_ARTIC", CENA_ARTIC)
            InsertCommand.Parameters.AddWithValue("@PRIZN_VALT", PRIZN_VALT)
            InsertCommand.Parameters.AddWithValue("@CENA_VALT", CENA_VALT)
            InsertCommand.Parameters.AddWithValue("@COD_VALT", COD_VALT)
            InsertCommand.Parameters.AddWithValue("@NDS_ARTIC", NDS_ARTIC)
            InsertCommand.Parameters.AddWithValue("@NDS_TORGN", NDS_TORGN)
            InsertCommand.Parameters.AddWithValue("@NACH_KOLCH", NACH_KOLCH)
            InsertCommand.Parameters.AddWithValue("@KON_KOLCH", KON_KOLCH)
            InsertCommand.Parameters.AddWithValue("@REZ_KOLCH", REZ_KOLCH)
            InsertCommand.Parameters.AddWithValue("@EDIN_IZMER", EDIN_IZMER)
            InsertCommand.Parameters.AddWithValue("@VES_EDINIC", VES_EDINIC)
            InsertCommand.Parameters.AddWithValue("@EDN_V_UPAK", EDN_V_UPAK)
            InsertCommand.Parameters.AddWithValue("@MIN_PARTIA", MIN_PARTIA)
            InsertCommand.Parameters.AddWithValue("@DLINA_ART", DLINA_ART)
            InsertCommand.Parameters.AddWithValue("@SHIRIN_ART", SHIRIN_ART)
            InsertCommand.Parameters.AddWithValue("@VYSOTA_ART", VYSOTA_ART)
            InsertCommand.Parameters.AddWithValue("@RAZM_IZMER", RAZM_IZMER)
            InsertCommand.Parameters.AddWithValue("@SCHET_ART", SCHET_ART)
            InsertCommand.Parameters.AddWithValue("@DOP1_ARTIC", DOP1_ARTIC)
            InsertCommand.Parameters.AddWithValue("@DOP2_ARTIC", DOP2_ARTIC)
            InsertCommand.Parameters.AddWithValue("@UCHET_CENA", UCHET_CENA)
            InsertCommand.Parameters.AddWithValue("@UCHET_VALT", UCHET_VALT)
            InsertCommand.Parameters.AddWithValue("@UCHET_SUM", UCHET_SUM)
            InsertCommand.Parameters.AddWithValue("@UCHET_SMVL", UCHET_SMVL)
            InsertCommand.Parameters.AddWithValue("@KOL_SUM", KOL_SUM)
            InsertCommand.Parameters.AddWithValue("@NGROUP_TV2", NGROUP_TV2)
            InsertCommand.Parameters.AddWithValue("@UCHET_0_C", UCHET_0_C)
            InsertCommand.Parameters.AddWithValue("@NAL1_ART", NAL1_ART)
            InsertCommand.Parameters.AddWithValue("@NAL2_ART", NAL2_ART)
            InsertCommand.Parameters.AddWithValue("@UCHET_0_VL", UCHET_0_VL)
            InsertCommand.Parameters.AddWithValue("@FIX_NACEN", FIX_NACEN)
            InsertCommand.Parameters.AddWithValue("@CENA_BZNAL", CENA_BZNAL)
            InsertCommand.Parameters.AddWithValue("@CENA_V_BZN", CENA_V_BZN)
            InsertCommand.Parameters.AddWithValue("@NGROUP_TV3", NGROUP_TV3)
            InsertCommand.Parameters.AddWithValue("@NGROUP_TV4", NGROUP_TV4)
            InsertCommand.Parameters.AddWithValue("@NGROUP_TV5", NGROUP_TV5)
            InsertCommand.Parameters.AddWithValue("@NGROUP_TV6", NGROUP_TV6)
            InsertCommand.Parameters.AddWithValue("@PRICE_LIST", PRICE_LIST)
            InsertCommand.Parameters.AddWithValue("@DOP3_ARTIC", DOP3_ARTIC)
            InsertCommand.Parameters.AddWithValue("@COEF_BZNAL", COEF_BZNAL)
            InsertCommand.Parameters.AddWithValue("@OKDP_ARTIC", OKDP_ARTIC)
            InsertCommand.Parameters.AddWithValue("@MIN_TVRZAP", MIN_TVRZAP)
            InsertCommand.Parameters.AddWithValue("@MAX_TVRZAP", MAX_TVRZAP)
            InsertCommand.Parameters.AddWithValue("@ID_SCLAD", ID_SCLAD)
            InsertCommand.Parameters.AddWithValue("@BALL1", BALL1)
            InsertCommand.Parameters.AddWithValue("@BALL2", BALL2)
            InsertCommand.Parameters.AddWithValue("@BALL3", BALL3)
            InsertCommand.Parameters.AddWithValue("@BALL4", BALL4)
            InsertCommand.Parameters.AddWithValue("@BALL5", BALL5)
            InsertCommand.Parameters.AddWithValue("@DEPARTAM", DEPARTAM)
            InsertCommand.Parameters.AddWithValue("@NAL_PROD", NAL_PROD)
            InsertCommand.Parameters.AddWithValue("@TIP_TOVR", TIP_TOVR)



            InsertCommand.ExecuteNonQuery()



Вот этот код выдает ошибку "Incorrect syntax near ','." Подозреваю, что проблема в том,что какая-то переменная заменилась на пустое место, или какая-то строковая переменная попала без кавычек. Но как проверить? Как-то можно увидеть результирующий SQL-текст инсерта с уже примененными параметрами? CommandText продолжает показывать первоначальный текст с переменными даже после отработки заполнения параметров. Пробовал на простой таблице из 3-х полей - все срабатывает, то есть сам код плюс минус рабочий.

Спасибо.
...
Рейтинг: 0 / 0
Как дебажить Command.ExecuteNonQuery
    #39807271
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quantum181
Код: vbnet
1.
NULLIF(@DOP3_ARTIC, @COEF_BZNAL, NULLIF(@OKDP_ARTIC,'')

тут
...
Рейтинг: 0 / 0
Как дебажить Command.ExecuteNonQuery
    #39807273
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quantum181Подозреваю, что проблема в том,что какая-то переменная заменилась на пустое место, или какая-то строковая переменная попала без кавычеккогда все передаешь через параметры, то таких косяков не будет, так что смело ищи ошибку в исходном запросе
...
Рейтинг: 0 / 0
Как дебажить Command.ExecuteNonQuery
    #39807274
Quantum181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Спасибо, реально - сам слепой! =))
...
Рейтинг: 0 / 0
Как дебажить Command.ExecuteNonQuery
    #39807289
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой говнокод лучше сразу выбросить, без всякого дебаженья.
...
Рейтинг: 0 / 0
Как дебажить Command.ExecuteNonQuery
    #39807478
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quantum181принял волевое решение прекратить!

Спасибо.

чаще надо принимать такие жесткие решения!
...
Рейтинг: 0 / 0
Как дебажить Command.ExecuteNonQuery
    #39807623
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может для начала базу нормализуете? иначе рекомендую вам отказаться от реляционной базы данных и использовать текстовый файл
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как дебажить Command.ExecuteNonQuery
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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