Hallo Leute,
mein Problem ist folgendes. Ich habe eine Datenbankabfrage die jede Sekunde aktualisiert werden muss. Momentan
wird jede Sekunde die Datenbankverbindung hergestellt, die Abfrage ausgeführt und anschließend beendet.
Das ist aber irgendwie leider recht Prozersor belastend. Ich habe mir also überlegt, dass es besser wäre die Datenbankverbindung herzustellen,
jede Sekunde die Abfrage auszuführen und dann beim Schließen des Programms die Verbindung zu beenden.
Leider hab ich keine Ahnung wie ich das machen soll. Hoffe ihr könnt mir helfen.
Hier noch mein Quellcode um zu sehen was ich gemacht habe.
Hoff mir kann jemand helfen
MFG Jens
mein Problem ist folgendes. Ich habe eine Datenbankabfrage die jede Sekunde aktualisiert werden muss. Momentan
wird jede Sekunde die Datenbankverbindung hergestellt, die Abfrage ausgeführt und anschließend beendet.
Das ist aber irgendwie leider recht Prozersor belastend. Ich habe mir also überlegt, dass es besser wäre die Datenbankverbindung herzustellen,
jede Sekunde die Abfrage auszuführen und dann beim Schließen des Programms die Verbindung zu beenden.
Leider hab ich keine Ahnung wie ich das machen soll. Hoffe ihr könnt mir helfen.
Hier noch mein Quellcode um zu sehen was ich gemacht habe.
Code:
Private Sub oertimer_Tick(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles oertimer.Tick ReadMyData("server=" & serverIp & ";" _ & "user id=" & serverUser & ";" _ & "password=" & serverPasswd & ";" _ & "database=" & serverData & ";pooling=false;Max Pool Size=10;connect" & _ "timeout=3") lblLadeJetzt2.Visible = False End Sub Public Sub ReadMyData(ByVal myConnString As String) Dim mySelectQuery As String = "SELECT `programm_id` AS 'id'," & _ "`sendungen`.`titel` AS 'title', UNIX_TIMESTAMP(`startzeit`) -" & _ "UNIX_TIMESTAMP(now( )) AS 'countdown', `startzeit` AS 'start'," & _ "DATE_ADD(`startzeit`, INTERVAL `laenge` SECOND) AS 'end', `laenge`" & _ "AS 'length', `datei` AS 'mediafile', IFNULL( `logo` , NULL ) AS" & _ "'osd', `audio_stereo` AS 'stereo', `quellen`.`bezeichnung` AS" & _ "'bezeichnung', NOW( ) AS 'sqltime', IFNULL( `untertitel` , NULL ) AS" & _ "'untertitel' FROM `programm` LEFT JOIN `sendungen` USING (" & _ "`sendung_id`) LEFT JOIN `sendungen_kategorien` USING (" & _ "`sendung_kategorie_id`) LEFT JOIN `programm_kategorien` USING (" & _ "`programm_kategorie_id`) LEFT JOIN `quellen` USING (`quelle_id`)" & _ "WHERE `startzeit` > NOW() AND DATE_ADD(now(), INTERVAL 24 HOUR) >" & _ "`startzeit` AND (((`sndkat_fs_eng_req` = '1' AND `prgkat_fs_eng_req`" & _ "= '1') AND NOT ISNULL(`fs_datum`) AND NOT ISNULL(`eng_nr`)) OR NOT (" & _ "`sndkat_fs_eng_req` = '1' AND `prgkat_fs_eng_req` = '1')) AND ((" & _ "`mediafile_required` = '1' AND NOT ISNULL(`datei`)) OR" & _ "`mediafile_required` = '0') ORDER BY `startzeit`" Dim myConnection As New MySqlConnection(myConnString) Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) myConnection.Open() Dim myReader As MySqlDataReader myReader = myCommand.ExecuteReader() ' Always call Read before accessing data. ' Prüft ob was zurückkommt vom SQL Command If myReader.HasRows Then ' While myReader.Read() myReader.Read() lblTitel1.Text = "Titel: " & myReader.GetString(1) lblCoundown.Text = "Nächste Sendung in: " & _ myConverter.FormatSeconds(myReader.GetString(2)) lblStartzeit1.Text = "Startzeit: " & myReader.GetString(3) If Not myReader.IsDBNull(4) Then lblEndzeit1.Text = "Endzeit: " & myReader.GetString(4) End If lblLänge1.Text = "Länge: " & myConverter.FormatSeconds( _ myReader.GetString(5)) lblQuelle1.Text = "Quelle: " & myReader.GetString(9) stripLblTime.Text = "Aktueller UNIX-Timestamp: " & _ myReader.GetString(10) If Not myReader.IsDBNull(11) Then lblUntertitel1.Text = "Untertitel: " & myReader.GetString(11) Else lblUntertitel1.Text = "Untertitel: NULL" End If ' always call Close when done reading. myReader.Close() ' Close the connection when done with it. myConnection.Close() myConnection.Dispose() Else stripLblTime.Text = stripLblTime.Text & " KEINE NÄCHSTE SENDUNG" & _ "BITTE DATENBAK ÜBERPRÜFEN !!!!" End If End Sub 'ReadMyData
Hoff mir kann jemand helfen
MFG Jens
Comment