Проблема при удалении данных в форме окна - PullRequest
0 голосов
/ 13 декабря 2010
    public static void deletePersonInfo(int number)
    {
        SqlCeConnection sqlConn = null;
        SqlCeCommand cmdDelete;

        try
        {
            sqlConn = new SqlCeConnection(databaseString);
            sqlConn.Open();

            cmdDelete = new SqlCeCommand("DELETE FROM PersonInfo WHERE Number = @numb", sqlConn);
            cmdDelete.Parameters.Add(new SqlCeParameter("@numb", SqlDbType.Int)).Value = number;
            cmdDelete.ExecuteNonQuery();

        }
        catch (Exception e)
        {
            MessageBox.Show(e.ToString());
        }
        finally
        {
            if (sqlConn != null)
            {
                sqlConn.Close();
            }
        }

    }

Вот мой код для удаления участника.Работает нормально, без ошибок.Я также проверил, передается ли правильное значение.и да, это так.Метод получает правильный номер участника, не выдает никакой ошибки, успешно выполняется, но не вносит никаких изменений в базу данных.

Может кто-нибудь сказать мне, что не так с этим кодом.

Ответы [ 3 ]

1 голос
/ 13 декабря 2010

Проверьте возвращаемое значение «cmdDelete.ExecuteNonQuery ();», возвращает ли оно ненулевое значение или нет. если значение отлично от нуля, будет изменена только база данных.

0 голосов
/ 13 декабря 2010

У вас может быть больше копий файла базы данных во время отладки - см. Это: http://erikej.blogspot.com/2010/05/faq-why-does-my-changes-not-get-saved.html

0 голосов
/ 13 декабря 2010

Ваша строка подключения обеспечивает безопасность? Попробуйте посмотреть в журнале событий или в разрешениях для таблицы. Это может привести к успешному подключению к базе данных, но не иметь надлежащих разрешений для внесения изменений. Если вы администратор или администратор домена, вы должны иметь доступ по умолчанию. Поэтому вам также может понадобиться проверить, что группа администраторов домена была добавлена ​​в поле сервера sql.

...