对于循环,直到SQL命令带有一定值



我有一个sql命令,我想去检查我的gridview的最后一行,一旦它在特定列中更改为y以刷新我的页面。它可能需要3-7秒的时间,因此我想基本每250ms循环一次运行我的选择,然后选择= y,然后刷新我的页面并将我的加载屏幕带走。

我得到这样的行计数,并考虑了做一个if/否则,但这不会循环:

// Get last row
    int count = finalGridView.Rows.Count;
    int lastRow = count - 1;
    string item = finalGridView.Rows[lastRow].Cells[1].Text;
    // Check last row to see if it completed
    OleDbCommand checkLast = new OleDbCommand($"SELECT CAST(ACRECP as char(5) ccsid 37) FROM TRDATA WHERE ITNBR = '{item}' AND TRFMT = 'IP' ORDER BY TDATE DESC", cnTrData);
    if (checkLast.ExecuteScalar().ToString() == "Y")
    {
        //Hide popup
        loading.Visible = false;
        // Rebind
        HideUC();
    }
    else
    {
        Thread.Sleep(250);
        Run command again???? 
    }

如果您使用的是 SQL Server 2005 或更高版本,则可以使用 SQL Notification在应用程序和SQL Server之间创建事件驱动的通信服务。您只需要在数据库服务器中创建服务的权限,因此您可以从应用程序调用它。

以防万一您需要有关此信息的更多信息,您可以在此处遵循此清晰简明的教程:

http://www.c-sharpcorner.com/uploadfile/87b416/working-with-notification/

希望它有帮助

最新更新