Member 12794883 Ответов: 1

Моя база данных не может обновиться


Почему-то, когда я обновляю базу данных, она ничего не меняет.

Что я уже пробовал:

Private Sub btn_updatecustomer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_updatecustomer.Click

    Try
        run_sql_command("UPDATE TBL_CUSTOMER_A155751 SET FLD_CUSTOMER_ID = '" & txt_customerid.Text & "' WHERE FLD_CUSTOMER_ID='" & current_code & "'")
        run_sql_command("UPDATE TBL_CUSTOMER_A155751 SET FLD_CUSTOMER_NAME = '" & txt_customername.Text & "' WHERE FLD_CUSTOMER_NAME='" & current_code & "'")
        run_sql_command("UPDATE TBL_CUSTOMER_A155751 SET FLD_CUSTOMER_CONTACT = '" & txt_contactnum.Text & "' WHERE FLD_CUSTOMER_CONTACT ='" & current_code & "'")
        run_sql_command("UPDATE TBL_CUSTOMER_A155751 SET FLD_CUSTOMER_ADDRESS = '" & txt_customeraddress.Text & "' WHERE FLD_CUSTOMER_ADDRESS ='" & current_code & "'")
        run_sql_command("UPDATE TBL_CUSTOMER_A155751 SET FLD_CUSTOMER_EMAIL = '" & txt_customeremail.Text & "' WHERE FLD_CUSTOMER_EMAIL='" & current_code & "'")


        Beep()
        MsgBox("You have succesfully updated the customer """ & current_code & """.")

        refresh_grid()
        clear_fields()
        get_current_code()
    Catch ex As Exception
    End Try

End Sub

[no name]

Потому что вы просите атаку SQL-инъекции и игнорируете любые ошибки, которые генерирует ваш код.

1 Ответов

Рейтинг:
2

OriginalGriff

Для начала, перестань так делать! Никогда не объединяйте строки для построения SQL-команды. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.

Во-вторых, мы не можем помочь вам исправить это: мы не можем запустить ваш код (потому что у нас нет вашего кода). run_sql_command метод), у нас нет ваших входных данных, и если бы мы могли, у нас нет доступа к вашей базе данных, чтобы запустить ее.

Так что все зависит от вас: исправьте проблему SQL-инъекции (и не забудьте исправить остальную часть вашего приложения - пропустите одно событие, и ваш лучший друг может удалить вашу базу данных просто для смеха), а затем используйте отладчик, чтобы точно выяснить, что происходит. Каковы входные данные, в частности условия WHERE, делает ли метод, который вы не показываете, исключения проглатывания, и если да,то каковы они и т. д..
Мы ничего не можем сделать для вас!