我想将对DataSet所做的修改保存到DataBase中,但是我收到了这个错误:
需要初始化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)
它有效。
那么为什么我使用它的第一个代码没有用呢!
答案 0 :(得分: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!")
OR
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!")