.RowFilter 紧急!
我想问一下比如我从pubDataset.Tables("JwMx")里面用MaxXhView.RowFilter将其过滤出来,然后向表“jwmx”增加一条记录后,再过滤了一次也即执行MaxXhView.RowFilter再执行一次,竟然提示未处理的“System.Data.VersionNotFoundException”类型的异常出现在 system.data.dll 中。
其他信息: 没有要访问的 Original 数据。
不知道可否有人碰到这样的问题,有的话帮帮忙,被卡了好久。
问题点数:20、回复次数:5Top
1 楼weiyan19820315(魏岩)回复于 2006-03-03 22:40:27 得分 0
你还是把主要代码整理出来看看吧Top
2 楼wty143(天赐良缘)回复于 2006-03-05 10:04:40 得分 0
'这里填充数据集,调用关系就不写出来了。帮忙看看不知道哪里出问题
'添加箱号
Private Sub ButJwAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButJwAdd.Click
lsrkDate = YearMonthDay(TxtRkdDate.Text) & "-"
JwSqlString = "select " & GetSqlField("CL_RKZSOverseas@*") & " from CL_RKZSOverseas where left(XHNumber," & Len(lsrkDate) & ")='" & lsrkDate & "'"
jwAdapter = New SqlDataAdapter(JwSqlString, Sys_conn)
If pubDataset.Tables.Contains("JwMx") Then
pubDataset.Tables("JwMx").Clear()
End If
jwAdapter.Fill(pubDataset, "JwMx")
jwCommandBuilder = New SqlCommandBuilder(jwAdapter)
Dim i As Integer
isJwAdd = True
Dim JwRow As DataRow
JwRow = pubDataset.Tables("JwMx").NewRow
JwRow.Item("入库单号")) = LabRkDh.Text
JwRow.Item("箱号")) = getXhNumber()
pubDataset.Tables("JwMx").Rows.Add(JwRow)
end sub
'生成箱号
Private Function getXhNumber() As String
Dim MaxXhView As New DataView
Dim lsxhstr As String
Dim lsXhNum As Integer
Dim djRkDate As String
' djHeader = lsCkCode & lsDjCode & "-" & YearMonth(lsDate) & "-"
djRkDate = YearMonthDay(TxtRkdDate.Text) & "-"
lsxhstr = GetSqlField("CL_RKZSOverseas@箱号@1")
MaxXhView.Table = pubDataset.Tables("JwMx")
' MaxXhView.RowFilter = "Left(" & lsxhstr & ", " & Len(djRkDate) & ") =" & djRkDate & ""
MaxXhView.RowFilter = GetSqlField("CL_RKZSOverseas@入库单号@1") & "= '" & LabRkDh.Text & "'and " & GetSqlField("CL_RKZSOverseas@箱号@1") & "= max(箱号)"
' MaxXhView.RowFilter = GetSqlField("CL_RKZSOverseas@箱号@1") & "= max(箱号)"
' MaxXhView.RowFilter = " 箱号 = max(箱号)"
If MaxXhView.Count <= 0 Then
lsXhNum = 0
Else
lsxhstr = MaxXhView.Item(0).Item(2)
If Trim(lsxhstr) <> "" Then
lsXhNum = Val("" & Microsoft.VisualBasic.Right(lsxhstr, MaxXhNumberLen))
Else
lsXhNum = 0
End If
End If
lsXhNum = lsXhNum + 1
NewDjXhNumber = djRkDate & formatNumber(lsXhNum, MaxXhNumberLen)
Return NewDjXhNumber
end subTop
3 楼wty143(天赐良缘)回复于 2006-03-05 10:06:52 得分 0
GetSqlField("CL_RKZSOverseas@箱号@1") 这个函数的值是得到 “箱号”实现简体繁体转换功能,可以不管,其它一样。Top
4 楼iegrhn(‘)回复于 2006-03-06 23:29:28 得分 5
row有版本和状态的概念 建议LZ 看看Top
5 楼tysystem(英明)回复于 2006-03-15 16:22:06 得分 15
顶!!!!Top




