This commit is contained in:
2026-01-28 17:43:29 +01:00
parent 8b5be9ac14
commit 25a49a4f86
2 changed files with 19 additions and 41 deletions

View File

@@ -1,6 +1,8 @@
Imports System.Data.SqlClient
Imports System.Reflection
Imports System.Windows.Forms
Imports com.sun.org.apache.xerces.internal.impl
Imports com.sun.xml.internal.rngom
Public Class cMessenger
@@ -405,18 +407,25 @@ Public Class cMessenger
Try
Me.CHAT_MESSAGES.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM(SELECT TOP " & top & " chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn)
' Using cmd As New SqlCommand("SELECT chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM(SELECT TOP " & top & " chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn)
Using cmd As New SqlCommand("SELECT TOP (@top) chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM tblMessenger_ChatMessages WHERE chatMg_chatId = @chat_id ORDER BY chatMg_datetime DESC", conn)
cmd.Parameters.AddWithValue("@chat_id", chat_id)
cmd.Parameters.AddWithValue("@top", top)
Dim dr = cmd.ExecuteReader()
While dr.Read
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
'Me.CHAT_MESSAGES.Add(MSG)
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) ' ----> 100 messages = 101 SQL calls
'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller!
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
Me.CHAT_MESSAGES.Add(MSG)
End While
dr.Close()
End Using
End Using
Me.CHAT_MESSAGES.Reverse()
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
@@ -430,15 +439,16 @@ Public Class cMessenger
cmd.Parameters.AddWithValue("@chat_id", chat_id)
cmd.Parameters.AddWithValue("@dateTmp", dateTmp)
Dim dr = cmd.ExecuteReader()
While dr.Read
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
'Me.CHAT_MESSAGES.Add(MSG)
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) '----> 100 messages = 101 SQL calls
'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller!
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
Me.CHAT_MESSAGES.Add(MSG)
End While
dr.Close()
End Using
End Using
@@ -776,6 +786,7 @@ Public Class cMessenger
Me.chatMg_datetime = chatMg_datetime
Me.chatMg_maName = chatMg_maName
Me.chatMg_maFirma = chatMg_maFirma
Me.chatMg_type = chatMg_type
Me.chatMg_text = chatMg_text
Me.chatMg_anhang_docId = chatMg_anhang_docId
Me.chatMg_referenz_AvisoId = chatMg_referenz_AvisoId