Как я могу обновить одно значение в базе данных SQL Server, используя Visual Studio .Net и Visual Basic - PullRequest
0 голосов
/ 19 января 2012

Я использую Visual Studio 2005 и у меня есть проект, который подключается к базе данных SQL Server, которую я создал с помощью подключения ODBC.Проект прекрасно подключается к базе данных, и я могу создавать запросы к ней и извлекать данные в текстовые поля в моем проекте, но я не могу получить обновление базы данных.В настоящее время у меня есть таблица в моей БД, которая имеет один столбец и одну строку.Единственная функция состоит в том, чтобы получать последние данные, которые предоставляет пользователь, использующий программу.У меня есть DataGridView в моем проекте, который при изменении текста для текущей ячейки должен сделать следующее:

 Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged

    CurrentSwipeTableAdapter1.Update(DataSet1)

End Sub

Существующее значение в БД для этого столбца равно 1, я помещаю значение255 в ячейке, проведя магнитную карточку со значением 255 на ней, и после кода, приведенного выше, можно ожидать выполнения запроса к этой таблице и посмотреть, что данные теперь 255, но я продолжаю получать 1 в качестве своего возвращения.Я также не получаю никаких ошибок или предупреждений, я просто не думаю, что он на самом деле пытается сделать актуальный оператор обновления для самой базы данных.Я что-то пропускаю, что мне нужно сделать с этим?

NEW EDIT - я просто попробовал это снова, и если я проведу пальцем второй раз, в таблице будет создана новая строка, которая действительно обновит свойство столбца до255. Я пытаюсь выяснить, почему это не произойдет при первом пролистывании первой записи, потому что я не просил базу данных вставить значения, а обновить их?

Хорошо, я поняли я просто пытался использовать код, который не сработал бы для того, что я пытался выполнить, то есть, в конечном счете, чтобы кто-то провел картой с магнитной полосой, и текстовое поле отправило эту информацию в мою таблицу CurrentSwipe, а затемиметь хранимую ProPro подтянуть имя клиента на основе этой идентификации.Вот что я наконец-то сделал.Обратите внимание, что я изменил имена некоторых таблиц и столбцов, так как я работал над этим, но я достигаю той же концепции, о которой я спрашивал, в первую очередь:
добавляет значение свайпа в набор кэшированных данных

SwipeMeisterDataSet.CurrentSwipe.AddCurrentSwipeRow(currentSwipeNumber:=TextBox1.Text)

Обновляет актуальную базу данных, но, так как это свайп, обновляет каждое изменение как отдельную строку

CurrentSwipeTableAdapter.Update(SwipeMeisterDataSet)

'Поместите имя свипа в текстовое поле2

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