none
vb.net - Нарушение параллелизма RRS feed

  • Вопрос

  • Нарушение параллелизма: UpdateCommand затронула 0 из ожидаемых 1 записей.

    Try
    Me.Taxi69usersBindingSource.EndEdit()
      Me.Taxi69_usersTableAdapter.Update(Me.Srv50777_taxi69DataSet.taxi69_users)
    Catch ex As Exception
      MsgBox(ex.Message, MsgBoxStyle.Critical)
    End Try

    База данных MySQL, в какую сторону копать?

Ответы

  • Это значит, что в то время как данные загружены и редактируются они были изменены откуда-нибудь ещё (удалены или изменён первичный ключ, одним словом то, что идентифицирует эту запись), поэтому при сохранении возникает такое.
    Модератор
  • Параллелизм тема не простая. Для решения подобных задач существует множество способов со воими недостатками и достатками. Рекомендую прочесть главу 11 книгу "Программирование на Microsoft ADO.NET 2.0" автор - Сеппа Д. И главу 10 книги "ADO.NET 2.0 для профессионалов" автор - Сахил Малик. Материалов там достаточно, для решения вашей проблемы.
    Модератор

Все ответы

  • Это значит, что в то время как данные загружены и редактируются они были изменены откуда-нибудь ещё (удалены или изменён первичный ключ, одним словом то, что идентифицирует эту запись), поэтому при сохранении возникает такое.
    Модератор
  • Веб сайт посылает каждые 60 сек запрос в базу

    if (is_user($user)) {
    $con=mysqli_connect($dbhost,$dbuname,$dbpass,$dbname);
    mysqli_query($con, "set CHARACTER SET cp1251");
    date_default_timezone_set('UTC');
    $date_today = date("Y-m-d"); //Дата
    $Hour[1] = date("H"); //часы
    $minute[1] = date("i") + 1; //минуты
    $seconds[1] = date("i"); //секунды
    $datetime = $date_today." ".$Hour[1].":".$minute[1].":".$seconds[1];
    $result = mysqli_query($con,"UPDATE `taxi69_users` SET `online` = '$datetime' WHERE `username` = '$username'");
    mysqli_close();
    
    } else {
    
    }

    Какой есть путь решения, для нормальной работы с DataGridView?

    Просто не хочется городить огород типа

                    conn.Open()
                    cmd.Connection = conn
                    cmd.CommandText = "UPDATE `taxi69_users` SET `status`='" & New_Satus & "' WHERE `id`='" & Currnet_ID() & "'"
                    Try
                        cmd.ExecuteNonQuery()
                    Catch ex As Exception
                        MsgBox("Ошибка: " & ex.Message, MsgBoxStyle.Critical)
                    End Try
                    conn.Close()


  • Хочется не хочется, пришлось пока так:

            Dim cell As String
            Dim ID As String
            Dim coll As String
            Dim coll_i As Integer
            Dim CRow As Integer = Current_Row() 'Функция
            Try
                Me.Taxi69usersBindingSource.EndEdit()
                cell = Me.DataGridView1.CurrentCell.Value
                ID = Me.DataGridView1.CurrentRow.Cells(0).Value.ToString()
                coll_i = Me.DataGridView1.CurrentCell.ColumnIndex
                coll = Me.DataGridView1.Columns(coll_i).DataPropertyName.ToString
                Form_General.conn.Open()
                Form_General.cmd.Connection = Form_General.conn
                Form_General.cmd.CommandText = "UPDATE `taxi69_users` SET `" & coll & "`='" & cell & "' WHERE `user_id`='" & ID & "'"
                Try
                    Form_General.cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ошибка: " & ex.Message, MsgBoxStyle.Critical)
                End Try
                Form_General.conn.Close()
                Me.Taxi69_usersTableAdapter.Fill(Me.Srv50777_taxi69DataSet.taxi69_users)
                Me.DataGridView1.CurrentCell = Me.DataGridView1(coll_i, CRow)
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical)
            End Try
    Все равно, это не правильно... Жду помощи

  • Параллелизм тема не простая. Для решения подобных задач существует множество способов со воими недостатками и достатками. Рекомендую прочесть главу 11 книгу "Программирование на Microsoft ADO.NET 2.0" автор - Сеппа Д. И главу 10 книги "ADO.NET 2.0 для профессионалов" автор - Сахил Малик. Материалов там достаточно, для решения вашей проблемы.
    Модератор