Es könnte doch alles so schön sein.

Nun ist mir auch noch der folgende Fehler aufgefallen:

There is already an open DataReader associated with this Connection which must be closed first.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'Ermitteln, ob ein Geschwindigkeitsalarm besteht
                                            Dim readAlertrules As MySqlDataReader
                                            Dim WriteAlert As MySqlDataReader
                                            Dim cmd As New MySqlCommand
                                            cmd.Connection = ConnAlert
                                            cmd.CommandText = "SELECT  * FROM alertrules where `deviceid` = '" & idnumber & "' AND `type` = 'overspeed' order by `id` DESC LIMIT 1"
                                            ConnAlert.Open()
 
 
 
                                            readAlertrules = cmd.ExecuteReader()
                                            readAlertrules.Read()
                                            If readAlertrules.HasRows Then
                                                Dim speedalert As Integer = (readAlertrules("value1"))
                                                'Geschwindigkeitsalarm existiert
                                                If speed > speedalert Then
                                                    overspeed(vbCrLf & "Ortungsgeräte-ID: " & idnumber & vbCrLf & "Der Geschwindigkeitsgrenzwert von " _
                                                              & speedalert & " km/h wurde überschritten. " & vbCrLf & "Die ermittelte Geschwindigkeit lag bei " _
                                                              & speed & " km/h.")
                                                    'Den Alarm in Datenbank speichern
                                                    cmd.Connection = ConnAlert
 
                                                    cmd.CommandText = _
                                                     "INSERT INTO received_alerts(id, servertime, gpstime, trackingid , type, sent, value ) VALUES (....... )"
                                                     cmd.ExecuteNonQuery()
 
                                                End If
 
 
 
                                            Else
                                                'Kein Geschwindigkeitsalarm ermittelt
                                            End If
                                           
 
                                            readAlertrules.Close()
                                            ConnAlert.Close()
                                            ConnAlert.Dispose()

Wenni ich aber per readAlertrules.Close() vorgehe, dann sollte doch eigentlich alles in Ordnung sein, oder?