1

我想将对 DataSet 所做的修改保存到数据库中,但出现此错误:

DataAdapter.SelectCommand 属性需要初始化

这是我写的代码:

dr = dt.NewRow

dr(0) = t1.Text
dr(1) = t2.Text
dr(2) = t3.Text
dr(3) = d1.Value

dt.Rows.Add(dr)

da.InsertCommand = cb.GetInsertCommand()
da.Update(ds, "stagiaire")
MsgBox("ajout effectu!")

dr 是 DataRow / dt 是 DataTable / da 是 SqlDataAdapter / cb 是 SqlCommandBuilder / ds 是 DataSet

但是当我da.InsertCommand = cb.GetInsertCommand()用 :更改这一行时,cb = New SqlCommandBuilder(da)它起作用了。

那么为什么我使用的第一个代码不起作用!

4

1 回答 1

0

要么你这样做

 dr = dt.NewRow

 dr(0) = t1.Text
 dr(1) = t2.Text
 dr(2) = t3.Text
 dr(3) = d1.Value

 dt.Rows.Add(dr)
 SqlComand cmd=new SqlCommand("insert query",conn)
 da.InsertCommand = cmd
 da.Update(ds, "stagiaire")
 MsgBox("ajout effectu!")

或者

 dr = dt.NewRow

 dr(0) = t1.Text
 dr(1) = t2.Text
 dr(2) = t3.Text
 dr(3) = d1.Value

 dt.Rows.Add(dr)
 SqlCommandBuilder cb=new SqlCommandBuilder (da)
 da.InsertCommand = cb.GetInsertCommand()
 da.Update(ds, "stagiaire")
 MsgBox("ajout effectu!")
于 2013-01-23T15:56:30.727 回答