Как обновить индикатор выполнения для SQL-запроса, который не возвращает статус?

#mysql #vb.net #phpmyadmin

#mysql #vb.net #phpmyadmin

Вопрос:

Как поместить индикатор выполнения в этот код? при запуске процесса отобразится индикатор выполнения и начнется загрузка

 Dim cmd As New MySqlCommand
    Dim dr As MySqlDataReader
    Dim con As MySqlConnection = connect()
    Try
        con.Open()
        cmd.Connection = con
        cmd.CommandText = ("Select * from user_acc where username= 'admin' and password='" amp; tbadminpass.Text amp; "' and position = 'Administrator'")
        dr = cmd.ExecuteReader
        dr.Read()
        If dr.HasRows Then

            If opd.ShowDialog = Windows.Forms.DialogResult.OK Then
                dbfile.Text = opd.FileName
                Dim myprocess As New Process
                myprocess.StartInfo.FileName = "cmd.exe"
                myprocess.StartInfo.UseShellExecute = False
                myprocess.StartInfo.WorkingDirectory = "C:Program FilesMySQLMySQL Server 5.7bin"
                myprocess.StartInfo.RedirectStandardInput = True
                myprocess.StartInfo.RedirectStandardOutput = True
                myprocess.Start()
                Dim mystream As StreamWriter = myprocess.StandardInput
                Dim myreader As StreamReader = myprocess.StandardOutput
                mystream.WriteLine("mysql -h " amp; My.Settings.dbserver amp; " -u " amp; My.Settings.dbuser amp; " --password=" amp; My.Settings.dbpass amp; " " amp; My.Settings.dbdatabase amp; " < " amp; dbfile.Text amp; "")
                mystream.Close()
                myprocess.WaitForExit()
                myprocess.Close()
                MetroFramework.MetroMessageBox.Show(Me, "Restore Success!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Else
                MetroFramework.MetroMessageBox.Show(Me, "There is an Error while restoring database!", "Warning Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
        Else
            MetroFramework.MetroMessageBox.Show(Me, "Invalid Username/Password", "Please Check Your Credentials", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        End If
    Catch ex As Exception
        MetroFramework.MetroMessageBox.Show(Me, "Unable to Connect to Server!!!", "Please Check Your Connection", MessageBoxButtons.OK, MessageBoxIcon.Warning)
    End Try
 

Комментарии:

1. Вы не можете выполнить что-то, что не имеет возрастающей разницы, например удаленный ресурс или sql-запрос. Тем не менее, вы можете отобразить индикатор выполнения для удовольствия и установить для него значение Marquee и т. Д.

2. Элемент ProgressBar управления — это не магия. Это просто визуальное представление соотношения. Вам решать, какое соотношение вы хотите отобразить. Важно понимать проблему, которую вы на самом деле пытаетесь решить. Это не имеет ничего общего с ProgressBars . Вопрос в том, как вы можете ИЗМЕРИТЬ ход выполнения операции. Подумайте об этом. Это для вас, чтобы разобраться и попытаться реализовать, если вы действительно можете это решить.

3. Предупреждение о внедрении Sql! Не объединяйте строки для добавления параметров в текст команды. Используйте фактические параметры.

4. StreamWriter необходимо удалить с помощью Using блока.