Я использую следующий код для разработки следующего уникального номера заказа в базе данных доступа. Является серверной базы данных «System.Data.OleDb.OleDbConnection»SELECT через oledbcommand в vb.net не подбирает последние изменения
Dim command As New OleDb.OleDbCommand("", serverDB)
command.CommandText = "SELECT max (ORDERNO) FROM WORKORDR"
iOrder = command.ExecuteScalar()
NewOrderNo = (iOrder + 1)
Если я впоследствии создать WORKORDR (используя другое соединение DB), код не будет забрать новый «следующий порядковый номер.»
например.
iFoo = NewOrderNo
CreateNewWorkOrderWithNumber(iFoo)
iFoo2 = NewOrderNo
возвращает такое же значение как iFoo, так и iFoo2.
Если я закрываю, а затем снова открываю serverDB, как часть функции «NewOrderNo», то он работает. iFoo и iFoo2 будут правильными.
Есть ли способ заставить «System.Data.OleDb.OleDbConnection» обновить базу данных в этой ситуации, не закрывая и не открывая соединение. , например. Есть ли что-то эквивалентное 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
что именно эту функцию: CreateNewWorkOrderWithNumber (IFoo) делать? – manji
Я включил код для CreateNewWorkOrderWithNumber. – seanyboy