Как использовать метод GetInsertCommand? - PullRequest
0 голосов
/ 31 марта 2009

Я использовал названный метод следующим образом:

ds.Tables("Employees").Rows.Add(ENumTxt.Text, ENameTxt.Text,PosTxt.Text,EAgeTxt.Text,_
ESalTxt.Text, EPhonTxt.Text, EAdrsTxt.Text)
If ds.HasChanges Then
            Dim AffectedDS As DataSet = ds.GetChanges(DataRowState.Added)
            Dim ComBuilder As New OleDb.OleDbCommandBuilder(da)
            da.InsertCommand = ComBuilder.GetInsertCommand()
            da.Update(AffectedDS, "Employees")
End If

но когда я проверяю команду insert во время выполнения, она выглядит следующим образом:

INSERT INTO Сотрудники Значения (?,?,?,?,?,?,?)

где значения, которые я ввел в текстовые поля?

Ответы [ 2 ]

2 голосов
/ 31 марта 2009

Они, вероятно, находятся в коллекции параметров InserCommand. Посмотрите на da.InsertCommand.Parameters.

0 голосов
/ 07 июля 2015

Попробуйте добавить значения к параметрам, например):

adapter.InsertCommand.Parameters["@p1"].Value = // some value
adapter.InsertCommand.Parameters["@p2"].Value = // some value
adapter.InsertCommand.Parameters["@p3"].Value = DBNull.Value // if you need to pass a null;

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

Вам также необходимо выполнить запрос для команды вставки:

adapter.InsertCommand.ExecuteNonQuery();
...