mysqlリーダーを備えたvb.netバックグラウンドワーカーと複数のテキストボックス

加速:

1秒ごとにBGWを実行してmySQLクエリを実行し、フォームにさまざまなテキストボックスに入力したいと考えています。

これは私の機能しているクエリです:

Public Sub AnrufAutoLaden()
    Dim mysqlconn As New MySqlConnection(ConnectionString)
    mysqlconn.Open()
    Dim query As String = "SELECT   CCE.callerid Telefonnummer,
                                    date_format(CCE.datetime_init, '%d-%m-%Y') Datum,
                                    TIME_FORMAT(CCE.datetime_init, '%H:%i') Uhrzeit,
                                    A.Alias Agent, 
                                    CONVERT( CAST(CE.name AS BINARY) USING UTF8) Kunde          
                            FROM call_center.current_call_entry CCE, call_center.agent A, call_center.campaign_entry CE
                            where CE.estatus = 'A'
                            AND A.estatus = 'A'
                            AND A.id = CCE.id_agent
                            AND CE.id_queue_call_entry = CCE.id_queue_call_entry
                            AND A.name ='" & LabelUsername.Text & "';"
    Dim mycmdIDForm As New MySqlCommand(query, mysqlconn)
    Dim rdr As Object = mycmdIDForm.ExecuteReader()
    If rdr.read() Then
        TBDashBCallerID.Text = rdr("Telefonnummer").ToString
        TBDashBDatum.Text = rdr("Datum").ToString
        TBDashBZeit.Text = rdr("Uhrzeit").ToString
        TBDashBAgent.Text = rdr("Agent").ToString
        TBDashBKunde.Text = rdr("Kunde").ToString
    End If
    mysqlconn.Close()
End Sub

私はそれを行うことができましたが、次のように、すべてのテキストボックスに対して個別のBGWを実行する必要があります。

Private Sub BGWAdminInfoV_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BGWAdminInfoV.DoWork
    Threading.Thread.Sleep(2000)
    If BGWAdminInfoV.CancellationPending = True Then
        e.Cancel = True
    Else
        Dim mysqlconn As New MySqlConnection(ConnectionString)
        mysqlconn.Open()
        Dim countquery2 As String = "SELECT     CCE.callerid Telefonnummer          
                            FROM call_center.current_call_entry CCE, call_center.agent A, call_center.campaign_entry CE
                            where CE.estatus = 'A'
                            AND A.estatus = 'A'
                            AND A.id = CCE.id_agent
                            AND CE.id_queue_call_entry = CCE.id_queue_call_entry
                            AND A.name ='" & LabelUsername.Text & "';;"
        Dim countcmd2 As MySqlCommand = New MySqlCommand(countquery2, mysqlconn)
        e.Result = countcmd2.ExecuteScalar().ToString()
        mysqlconn.Close()
    End If
End Sub
Private Sub BGWAdminInfoV_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BGWAdminInfoV.RunWorkerCompleted
    If e.Cancelled = True Then
    Else
        Me.Invoke(New MethodInvoker(Sub() TBDashBCallerID.Text = e.Result))
        BGWAdminInfoV.RunWorkerAsync()
    End If
End Sub

しかし、1つのBGWでそれを行う方法はありますか。したがって、1秒ごとに1つのBGWを実行し、5つすべての値を5つすべてのテキストボックスに返します。

TBDashBCallerID.Text
TBDashBDatum.Text
TBDashBZeit.Text 
TBDashBAgent.Text
TBDashBKunde.Text
jmcilhinney:

なぜから切り替えるExecuteReaderExecuteScalar既存の同じADO.NETコードを使用するだけですが、値をに入れる代わりTextBoxesに、オブジェクトのプロパティまたは配列の要素に入れます。次に、RunWorkerCompletedイベントハンドラーで同じオブジェクト/配列からすべての値を取得し、すべてのを設定しTextBoxesます。

次のようにキックオフします。

BGWAdminInfoV.RunWorkerAsync(LabelUsername.Text)

そしてこれを行います:

Private Sub BGWAdminInfoV_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BGWAdminInfoV.DoWork
    Dim mysqlconn As New MySqlConnection(ConnectionString)
    mysqlconn.Open()
    Dim query As String = "SELECT   CCE.callerid Telefonnummer,
                                date_format(CCE.datetime_init, '%d-%m-%Y') Datum,
                                TIME_FORMAT(CCE.datetime_init, '%H:%i') Uhrzeit,
                                A.Alias Agent, 
                                CONVERT( CAST(CE.name AS BINARY) USING UTF8) Kunde          
                        FROM call_center.current_call_entry CCE, call_center.agent A, call_center.campaign_entry CE
                        where CE.estatus = 'A'
                        AND A.estatus = 'A'
                        AND A.id = CCE.id_agent
                        AND CE.id_queue_call_entry = CCE.id_queue_call_entry
                        AND A.name = @name;"
    Dim mycmdIDForm As New MySqlCommand(query, mysqlconn)
    mycmdIDForm.Parameters.Add("@name", MySqlDbType.VarChar, 50).Value = e.Argument
    Dim rdr As Object = mycmdIDForm.ExecuteReader()
    Dim result As String()
    If rdr.Read() Then
        result = {rdr("Telefonnummer").ToString(),
                  rdr("Datum").ToString(),
                  rdr("Uhrzeit").ToString(),
                  rdr("Agent").ToString(),
                  rdr("Kunde").ToString()}
    End If
    mysqlconn.Close()

    e.Result = result
End Sub

Private Sub BGWAdminInfoV_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BGWAdminInfoV.RunWorkerCompleted
    If Not e.Cancelled AndAlso e.Result IsNot Nothing Then
        Dim result = DirectCast(e.Result, String())

        TBDashBCallerID.Text = result(0)
        TBDashBDatum.Text = result(1)
        TBDashBZeit.Text = result(2)
        TBDashBAgent.Text = result(3)
        TBDashBKunde.Text = result(4)
    End If
End Sub

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

VB2013リストボックスで選択したアイテムをバックグラウンドワーカーに渡す

分類Dev

列フィルターのドロップダウンと複数のチェックボックスの選択を備えたデータテーブル

分類Dev

フェニックス-複数のレンダリングを備えたコントローラー

分類Dev

ユニバーサルアナリティクス-共有チェックアウトを備えた複数のeコマースサイトでのクロスドメイントラッキング

分類Dev

複数のホスト/インターフェースを備えたリンクローカル(zeroconf)ネットワーキング

分類Dev

チェックボックスとキーボードナビゲーションを備えた剣道ドロップダウンリスト

分類Dev

スマートカードリーダーデバイスを備えた仮想ボックス

分類Dev

ReactJSのVisJSネットワークグラフのキャンバスに複数ノードボックスセレクターを追加します

分類Dev

Rustのバックグラウンドワーカースレッドと同期

分類Dev

バックグラウンドタスクで複数のワーカーを使用する-Fast-API

分類Dev

VB.NET:バックグラウンドワーカーへの複数の引数の送信

分類Dev

18.04で複数のワークスペース間でウィンドウを移動するためのキーボードショートカット

分類Dev

コンテンツを上下にスライドさせるための複数のトリガーを備えたワンクリックイベント

分類Dev

ワイヤレスキーボードの電源ボタンを備えたウェイクウィンドウズ10ラップトップ

分類Dev

複数のスロットを備えたスマートカードリーダーPCSC

分類Dev

Swift - ネットワーク リクエストとバックグラウンド キュー

分類Dev

.netフレームワークでのRTSPIPカメラのバックグラウンド再生とhttpストリームへの出力

分類Dev

複数の Async HttpWebRequest を起動するには、バックグラウンド ワーカーまたは複数のスレッドが必要ですか?

分類Dev

サービスワーカーとの定期的なバックグラウンド同期サポート

分類Dev

Windows10と同じキーボードショートカットを備えたWindows7上の複数の仮想デスクトップ

分類Dev

FirefoxWebExtensionのバックグラウンドスクリプトからクリップボードにテキストをコピーします

分類Dev

複数のストーリーボードを備えたUITabBarController

分類Dev

複数のストーリーボードを備えたUISplitView

分類Dev

テキストフィールドとチェックボックスを備えた動的グリッドペイン

分類Dev

バックグラウンドスティッキーコンカレントマークスイープGCsqliteデータベースの無限ループ

分類Dev

MySqlを使用したvb.netのオートコンプリートテキストボックス

分類Dev

ダウンロードウェブサイトを備えたスプラッシュスクリーンとそれをウェブビューに渡す

分類Dev

各リストアイテムのチェックボックスと検索バーを備えたカスタムListViewアダプターのgetView()メソッドでgetItem(position)を使用すると間違ったアイテムを取得する

分類Dev

バックグラウンドワーカーからリストボックスへの文字列の追加(呼び出し)

Related 関連記事

  1. 1

    VB2013リストボックスで選択したアイテムをバックグラウンドワーカーに渡す

  2. 2

    列フィルターのドロップダウンと複数のチェックボックスの選択を備えたデータテーブル

  3. 3

    フェニックス-複数のレンダリングを備えたコントローラー

  4. 4

    ユニバーサルアナリティクス-共有チェックアウトを備えた複数のeコマースサイトでのクロスドメイントラッキング

  5. 5

    複数のホスト/インターフェースを備えたリンクローカル(zeroconf)ネットワーキング

  6. 6

    チェックボックスとキーボードナビゲーションを備えた剣道ドロップダウンリスト

  7. 7

    スマートカードリーダーデバイスを備えた仮想ボックス

  8. 8

    ReactJSのVisJSネットワークグラフのキャンバスに複数ノードボックスセレクターを追加します

  9. 9

    Rustのバックグラウンドワーカースレッドと同期

  10. 10

    バックグラウンドタスクで複数のワーカーを使用する-Fast-API

  11. 11

    VB.NET:バックグラウンドワーカーへの複数の引数の送信

  12. 12

    18.04で複数のワークスペース間でウィンドウを移動するためのキーボードショートカット

  13. 13

    コンテンツを上下にスライドさせるための複数のトリガーを備えたワンクリックイベント

  14. 14

    ワイヤレスキーボードの電源ボタンを備えたウェイクウィンドウズ10ラップトップ

  15. 15

    複数のスロットを備えたスマートカードリーダーPCSC

  16. 16

    Swift - ネットワーク リクエストとバックグラウンド キュー

  17. 17

    .netフレームワークでのRTSPIPカメラのバックグラウンド再生とhttpストリームへの出力

  18. 18

    複数の Async HttpWebRequest を起動するには、バックグラウンド ワーカーまたは複数のスレッドが必要ですか?

  19. 19

    サービスワーカーとの定期的なバックグラウンド同期サポート

  20. 20

    Windows10と同じキーボードショートカットを備えたWindows7上の複数の仮想デスクトップ

  21. 21

    FirefoxWebExtensionのバックグラウンドスクリプトからクリップボードにテキストをコピーします

  22. 22

    複数のストーリーボードを備えたUITabBarController

  23. 23

    複数のストーリーボードを備えたUISplitView

  24. 24

    テキストフィールドとチェックボックスを備えた動的グリッドペイン

  25. 25

    バックグラウンドスティッキーコンカレントマークスイープGCsqliteデータベースの無限ループ

  26. 26

    MySqlを使用したvb.netのオートコンプリートテキストボックス

  27. 27

    ダウンロードウェブサイトを備えたスプラッシュスクリーンとそれをウェブビューに渡す

  28. 28

    各リストアイテムのチェックボックスと検索バーを備えたカスタムListViewアダプターのgetView()メソッドでgetItem(position)を使用すると間違ったアイテムを取得する

  29. 29

    バックグラウンドワーカーからリストボックスへの文字列の追加(呼び出し)

ホットタグ

アーカイブ