Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过vb.net中的oledbcommand选择不拾取最近的更改_Vb.net_Oledb_Oledbconnection - Fatal编程技术网

通过vb.net中的oledbcommand选择不拾取最近的更改

通过vb.net中的oledbcommand选择不拾取最近的更改,vb.net,oledb,oledbconnection,Vb.net,Oledb,Oledbconnection,我正在使用下面的代码计算access数据库中的下一个唯一订单号。ServerDB是一个“System.Data.OleDb.OleDbConnection” 如果我随后创建一个WORKORDR(使用不同的数据库连接),代码将不会获取新的“下一个订单号” e、 g 将向iFoo和iFoo2返回相同的值 如果作为“NewOrderNo”函数的一部分关闭然后重新打开serverDB,那么它就可以工作。iFoo和iFoo2将是正确的 在这种情况下,是否有任何方法可以强制“System.Data.OleD

我正在使用下面的代码计算access数据库中的下一个唯一订单号。ServerDB是一个“System.Data.OleDb.OleDbConnection”

如果我随后创建一个WORKORDR(使用不同的数据库连接),代码将不会获取新的“下一个订单号”

e、 g

将向iFoo和iFoo2返回相同的值

如果作为“NewOrderNo”函数的一部分关闭然后重新打开serverDB,那么它就可以工作。iFoo和iFoo2将是正确的

在这种情况下,是否有任何方法可以强制“System.Data.OleDb.OleDbConnection”刷新数据库,而无需关闭并重新打开连接。 e、 g.是否有与serverdb.refresh或serverdb.FlushCache等效的内容

如何创建订单。 我想知道这是否是由于在创建订单后没有更新我的事务造成的。我正在使用XSD创建订单,我用来创建记录的代码是

Sub CreateNewWorkOrderWithNumber(ByVal iNewOrder As Integer)
    Dim OrderDS As New CNC
    Dim OrderAdapter As New CNCTableAdapters.WORKORDRTableAdapter

    Dim NewWorkOrder As CNC.WORKORDRRow = OrderDS.WORKORDR.NewWORKORDRRow

    NewWorkOrder.ORDERNO = iNewOrder
    NewWorkOrder.name = "lots of fields filled in here."

    OrderDS.WORKORDR.AddWORKORDRRow(NewWorkOrder)
    OrderAdapter.Update(NewWorkOrder)

    OrderDS.AcceptChanges()
End Sub

我总是在使用连接对象后将其扔掉。由于连接池,获得新连接的成本很低。

来自

Microsoft Jet的读缓存是 每个页面超时毫秒更新一次 (默认值为5000ms=5秒)。信息技术 还有一个惰性写入机制 在单独的线程上对主线程进行操作 处理,从而将更改写入 磁盘同步。这两个 机制有助于提高性能,但 在某些需要 高并发性,它们可能会创建 问题

  • 如果可能,只需使用一个连接即可
  • 回到VB6,您可以使用ADO刷新自身。我不知道用VB.NET是否可行。我的谷歌fu今天似乎很弱
  • 您可以,但这将影响计算机上使用Jet引擎的所有程序(即Access数据库的编程使用)

这个函数:CreateNewWorkOrderWithNumber(iFoo)到底在做什么?我已经包含了CreateNewWorkOrderWithNumber的代码。
iFoo = NewOrderNo
CreateNewWorkOrderWithNumber(iFoo)
iFoo2 = NewOrderNo
Sub CreateNewWorkOrderWithNumber(ByVal iNewOrder As Integer)
    Dim OrderDS As New CNC
    Dim OrderAdapter As New CNCTableAdapters.WORKORDRTableAdapter

    Dim NewWorkOrder As CNC.WORKORDRRow = OrderDS.WORKORDR.NewWORKORDRRow

    NewWorkOrder.ORDERNO = iNewOrder
    NewWorkOrder.name = "lots of fields filled in here."

    OrderDS.WORKORDR.AddWORKORDRRow(NewWorkOrder)
    OrderAdapter.Update(NewWorkOrder)

    OrderDS.AcceptChanges()
End Sub