如何使用GetInsertCommand方法?

时间:2009-03-31 12:56:13

标签: insert

我使用了这样的命名方法:

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

但是当我在运行时检查insertcommand时,它看起来像:

插入员工价值观(?,?,?,?,?,?,?)

我在文本框中输入的值在哪里?

2 个答案:

答案 0 :(得分:2)

它们可能位于InserCommand的Parameters集合中。查看da.InsertCommand.Parameters。

答案 1 :(得分:0)

尝试在参数中添加值,例如:)

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();