Хорошо, у меня есть рабочее решение. Я надеюсь, что это похоже на то, что вы ищете.
Спасибо, ботаник
Public Class MyObject
Dim _Name As String
Dim _Qty As Integer
Public Property Name As String
Get
Return _Name
End Get
Set(value As String)
_Name = value
End Set
End Property
Public Property Qty As Integer
Get
Return _Qty
End Get
Set(value As Integer)
_Qty = value
End Set
End Property
End Class
Public Sub Test3()
Dim blnFoundMatch As Boolean
Dim lngTotal As Long
Dim lngI As Long
Dim lngItm As Long
Dim lngItm2 As Long
Dim itm As MyObject
Dim itm2 As MyObject
Dim strOut As String
Dim outList As New List(Of Object)
Dim subList As New List(Of MyObject)
Dim myList As New List(Of MyObject)
myList.Add(New MyObject With {.Name = "N1", .Qty = 3})
myList.Add(New MyObject With {.Name = "N2", .Qty = 1})
myList.Add(New MyObject With {.Name = "N3", .Qty = 2})
myList.Add(New MyObject With {.Name = "N4", .Qty = 1})
myList.Add(New MyObject With {.Name = "N5", .Qty = 4})
For Each itm In myList
lngTotal = 0
lngI = 0
lngItm = itm.Qty
subList.Add(itm)
lngTotal = lngItm
If lngTotal = 4 Then
outList.Add(New List(Of Object))
For Each sL In subList
outList.Item(outList.Count - 1).add(sL)
Next
Else
blnFoundMatch = False
Do Until blnFoundMatch
itm2 = myList.Item(lngI)
lngItm2 = itm2.Qty
If Not itm Is itm2 Then
lngTotal += lngItm2
If lngTotal = 4 Then
blnFoundMatch = True
subList.Add(itm2)
'I had to do the following because a copy would not work
' and I have to clear subList
outList.Add(New List(Of Object))
For Each sL In subList
outList.Item(outList.Count - 1).add(sL)
Next
ElseIf lngTotal > 4 Then
lngTotal -= lngItm2
Else
subList.Add(itm2)
End If
End If
lngI += 1
If (lngI > (myList.Count - 1)) Then Exit Do
Loop
subList.Clear()
End If
Next
If outList.Count > 0 Then
For Each obj As Object In outList
strOut = "sumOf("
For Each itm In obj
strOut = strOut & itm.Name & " "
Next
strOut = Trim(strOut) & ") = 4"
Debug.Print(strOut)
Next
End If
'Results Are as Follows (Notice the duplicate, but it works):
'-------------------------------------------------------------
'sumOf(N1 N2) = 4
'sumOf(N2 N1) = 4
'sumOf(N3 N2 N4) = 4
'sumOf(N4 N1) = 4
'sumOf(N5) = 4
End Sub
Эти три приложения совместно используют тот же пул соединения, или действительно каждый получает его собственное? Я рекомендовал бы последнему.
На этот вопрос нет однозначного ответа, поскольку он меняется от приложения к приложению в зависимости от использования и схемы загрузки.
Первый момент - ссылка https: // www.hibernate.org/214.html, поскольку кажется, что вы сделали это и пошли дальше. вот несколько советов:
Это довольно старая версия Connector / J. Чтобы убедиться, что вы не боретесь с известной и исправленной ошибкой, я бы начал с получения самой новой (5.0.8):
http://dev.mysql.com/downloads/connector/j/5.0. html
Это EOFException
из MysqlIO
немного подозрительно. При нормальном использовании / использовании без ошибок, вы никогда не должны получать ошибок от этого уровня.