2013-02-16 3 views
0

У меня есть настольное приложение vb.net, которое использует mysql. Я могу подключиться удаленно без каких-либо проблем. У меня есть таймер, который запрашивает базу данных каждые 10 секунд. Теперь я хочу выполнить несколько функций без использования нескольких соединений.VB.NET MYSQL Несколько запросов

Private Sub Timer__Tick()... 
    call GET_QUEUED_EMAILS 
    call Function2 
    Call Function3 
End sub 

образца функция:

Public Function GET_QUEUED_EMAILS(ByVal sql As String) 
    Try 
      ' Load From DB 
      GlobalFunctions.db_connect() 
      Dim reader As New MySqlDataReader 
      Dim command As MySqlCommand = connection.CreateCommand() 
      command.CommandText = sql 

      reader = command.ExecuteReader 
      If (reader.HasRows) Then 
       While (reader.Read()) 

         message_id = reader(0).ToString 
         message_status = reader(2).ToString 

        Exit While 
       End While 
       reader.Close() 
       GlobalFunctions.connection.Close() 
       call another function here.... 
      Else 
       reader.Close() 
       GlobalFunctions.connection.Close() 

      End If 
     End If 
    Catch ex As Exception 
      MessageBox.Show("Error" & ex.Message) 
     End Try 

End Sub' 
+0

Как насчет вызова других функций, которые вам нужны в вашей функции по таймеру который открывает и закрывает соединение? – Scotch

+0

Подробнее о [Пул соединений] (http://dev.mysql.com/doc/refman/5.0/en/connector-net-programming-connection-pooling.html) и попытайтесь реализовать их предложения – Steve

ответ

0

использование трех таймеров, когда заканчивается первый таймер начинает второй таймер

Private Sub Timer1__Tick()... 
    call GET_QUEUED_EMAILS 
    Timer2.Start 
    Timer1.Stop 
End sub 
Private Sub Timer2__Tick()... 
    call Function2 
    Timer3.Start 
    Timer2.Stop 
End sub 
Private Sub Timer3__Tick()... 
    call Function3 
    Timer3.Start 
End sub 
+0

Можете ли вы подробнее рассказать о том, как это касается использования одного соединения? – GHC

+0

, потому что с такими таймерами вы предварительно закладываете запросы один за другим – IFON26

+0

, когда первый таймер завершает второй таймер ... – IFON26