关于数据原更新的问题
<P>最近我在做数据库的时候发现这样的问题:<BR> 1、修改dataset中的数据中,可以更新给数据原:<BR> Dim da As new OleDbDataAdapter(str,cnnstr)<BR> da.fill(ds,"表")<BR> ds.tables("表").rows(0)(0)="sadf"<BR> Dim db As New OleDbCommandBuilder(da)<BR> da.update(ds,"表")<BR> 2、要是删除dataset中的数据时,例如删除一行更新不了数据原:<BR> Dim da As new OleDbDataAdapter(str,cnnstr)<BR> da.fill(ds,"表")<BR> ds.tables("表").rows.removeat(0)<BR> Dim db As New OleDbCommandBuilder(da)<BR> da.update(ds,"表")<BR>上面说的方法,如果要是用绑定技术的话,就不存在这样的问题,请问为什么了?<BR><BR></P>[align=right][color=#000066][此贴子已经被作者于2006-6-6 13:14:37编辑过][/color][/align]
发具体代码看看,上面的代码应该没错了 我也认为是没错了,我查了资料也是这么写的了,但是就是更新不了,我很是迷茫 <P>不好意思,我有点没把问题说清楚了,<br>重要的问题在于:<FONT color=#ee3d11><STRONG>把数据绑定在datagrid 上,在datagrid中按delete键删除一行,然后用update,就可以更新数据库;但是要是不在datagid中删除,用ds.tables().rows.removeat(),在用update,就更新不了数据库了。<br></STRONG></FONT><FONT color=#000000>这到底为什么了,请说的清楚点了</FONT></P>
[align=right][color=#000066][此贴子已经被作者于2006-6-9 20:41:37编辑过][/color][/align]
这下有点明白哪里错了,是不是你没有加<br>if not ispostback then<br><STRONG><FONT color=#ee3d11>数据绑定datagrid</FONT></STRONG><br>end if<br><br>如果表中字段用了关键字一样会出错(同时用db.GetDeleteCommand之类时),例如count,sum
[align=right][color=#000066][此贴子已经被作者于2006-6-11 0:08:32编辑过][/color][/align]
<P><FONT color=#000000>那在datagrid中删除一行和用ds.tables().rows.removeat()删除一行到底有什么不同了</FONT></P>
[align=right][color=#000066][此贴子已经被作者于2006-6-12 17:32:01编辑过][/color][/align]
效果一样 我试过了,你说的那个ds.table().rows.removeat()和datagrid中删除一行不一样了,datagrid中删除一行的代码应该是ds.table().rows().delete,这样的删除是两个概念了,下面是我试过两个更新数据原的代码:<BR>这个是可以更新的代码:<BR> ds.table("1").rows(0).delete<BR> da.Update(ds, "1")<BR>这个是不可以更新的代码: <BR> ds.Tables("1").rows.removeat(0)<BR> da.Update(ds, "1")<BR>这两个句子ds.table("1").rows(0).delete和ds.Tables("1").rows.removeat(0),到底有什么不同了,在删除数据时、在更新数据原时有什么不同了,为什么一个可以更新数据原,一个不可以了?<BR><BR> <P>怎么就没人可以回答这个问题吗,斑竹呢</P> <P>首先,删除后不用更新.本身删除就是一条记录完全的清空.你只需要重新填充一下就KO<BR>最简单的方法,后面加一句 dt.AcceptChanges() 表示进行改变.如果还是不行.再发信息!~<BR>具体的,我做的.原代码如下:<BR>Try<BR> Dim RefreshPictureBox As Boolean = True<BR> If bm.Position = bm.Count - 1 Then</P>
<P> End If</P>
<P> ' 将记录删除<BR> dt.Rows(bm.Position).Delete()</P>
<P> Dim numberRows As Integer = da.Fill(ds, "学生信息")</P>
<P> dt.AcceptChanges()</P>
<P> MessageBox.Show("成功地写回来源数据表 学生 " & vbCrLf & vbCrLf & "成功删除的记录数目: " & numberRows.ToString, "提示讯息")<BR> Catch ex As Exception<BR> MessageBox.Show(ex.Message, "请注意")<BR> End Try</P> 新手,学习中,支持
页:
[1]
