обновление данных не отражается в базе данных в VB 2008 - PullRequest
0 голосов
/ 05 января 2012

Я использую следующий код для вставки данных в базу данных

            bdcon.Open()
            Dim querystring As String
            Dim mycommand55 As New SqlCommand
querystring = "insert into Tr_Cashbook values(" + TextBox1.Text + "," + ComboBox1.Text + ",'" + TextBox2.Text + "','" + ComboBox2.Text + "','" + TextBox3.Text + "','" + ComboBox3.Text + "'," & 0 & ",'" + DateTimePicker2.Value + "','" + ComboBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" + TextBox4.Text + "')" 
                 Try mycommand55.ExecuteNonQuery()
                Catch ex As Exception
                    MessageBox.Show(ex.Message)
                End Try
                Binding()

эти вставленные данные в базу данных, когда программы запущены, но если я закрою программу и начну заново, предыдущие данные, которые я вставил, будут потеряны.... почему? плз ответить

Ответы [ 2 ]

1 голос
/ 05 января 2012

Помимо очевидной уязвимости к атакам внедрения SQL, когда не используются параметризованные запросы или проверка / очистка данных перед их использованием, похоже, что вы нигде не используете переменную querystring. Вы создаете его, а затем присваиваете ему значение, но никогда не говорите объекту SqlCommand использовать его в своем примере.

0 голосов
/ 05 января 2012

Похоже, вы открыли транзакцию с использованием класса TransactionScope, который не фиксирует должным образом

Вы должны пересмотреть и изменить свой подход при работе с сервером SQL, потому что ваш путь оченьуязвимы для инъекций sql.Попробуйте переписать запрос, используя параметры или необработанные строковые значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...