Проблема удаления записи из базы данных SQL Server через программу C # - PullRequest
2 голосов
/ 29 мая 2019

Я новичок в программировании на C #.Я написал программу на C #, которая была подключена к базе данных SQL Server через соединитель LINQ.Все прошло гладко.Но теперь я получаю ошибку ниже, когда хочу удалить запись из программы с определенным условием:

Произошло необработанное исключение типа 'System.ArgumentNullException' в EntityFramework.dll

Дополнительная информация: Значение не может быть нулевым.

Это мой код C #:

private void btnDel_Click(object sender, EventArgs e)  
{
    DialogResult result = MessageBox.Show("Sales system ", "Are you sure to delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

    if (result == DialogResult.Yes)
    {
        string photo = txtPhoto.ToString();

        var edit = db.tblPersons.Where(c => c.PhotoNo == photo || c.ReceiptNo == photo).FirstOrDefault();
        db.tblPersons.Remove(edit);
        db.SaveChanges();

        MessageBox.Show("Info deleted");
    }
}

Кто-нибудь знает о моей проблеме по этому поводу?

Ответы [ 2 ]

1 голос
/ 29 мая 2019

Я считаю, что элемент управления - это текстовое поле, однако получите текст.

пример:

string photo = txtPhoto.Text;
0 голосов
/ 29 мая 2019

Прежде чем пытаться удалить

, убедитесь, что ваш var edit не равен нулю.
private void btnDel_Click(object sender, EventArgs e)   {
        DialogResult result = MessageBox.Show("Sales system ", "Are you sure to delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
        if (result == DialogResult.Yes)
        {
            string photo = txtPhoto.ToString();

            var edit = db.tblPersons.Where(c => c.PhotoNo == photo || c.ReceiptNo == photo).FirstOrDefault();
            if(edit != null)
            {
              db.tblPersons.Remove(edit);
              db.SaveChanges();
              MessageBox.Show("Info deleted");
            }
            else
            {
             MessageBox.Show(photo + " Incorrect");
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...