我用WebService建业务层,用OleDbDataAdapter连接数据库
以下是WebService的代码
####################################################################
<WebMethod()> Public Function Get_Dataset() As DataSet1
Me.OleDbDataAdapter1.Fill(Me.DataSet11)
Return DataSet11
End Function
<WebMethod()> Public Sub Update_Dataset()
Me.DataSet11.AcceptChanges()
Me.OleDbDataAdapter1.Update(Me.DataSet11)
End Sub
####################################################################
我用Windows应用程序来做表示层,在窗体上添加了一个DataGrid控件,两个Button控件。
以下是表示层的代码
####################################################################
Dim Ds As New localhost.DataSet1
Dim ser1 As New localhost.Service1
Dim Nrow As DataRow
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Ds.Merge(ser1.Get_Dataset)
DataGrid1.DataSource = Ds
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Nrow = Me.Ds.person.NewRow
‘注person是数据表的名称,我是直接对DataSet进行操做的。
Nrow.Item("id") = 6
Nrow.Item("xm") = "大脸"
Nrow.Item("xb") = "男"
Nrow.Item("nl") = 23
Nrow.Item("bm") = 5
Me.Ds.person.Rows.Add(Nrow)
ser1.Update_Dataset()
End Sub
####################################################################
现在的问题是,我可以读取到数据,却无法更新数据。
在表示层的DataSet里的数据可以添加上,在DataGrid里可以看到新添加的那一条记录,但在业务层的数据库里并没有添加上这条记录,这是为什么。