提问者:小点点

在Visual C中修复我的MS Access数据库时出错#


我一直在使用windows表单创建一个项目,基本上我的程序包括3个表单:登录、数据库查看器和一个单独的表单来编辑数据库。

编辑数据库时:如果数据库是空的,我尝试删除一条记录两次,我的程序中断,我得到错误:System。InvalidOperationException:“无法从列表中删除当前项,因为没有当前项。”

我是否可以实现任何类型的代码来防止在表为空时使用delete按钮?

这是我为数据库的删除按钮编写的代码,因为我不知道该怎么做,所以没有其他代码可以处理我自己修改过的数据库。

        {
            if (MessageBox.Show("Are you sure you'd like to delete this record?", "Delete Record", MessageBoxButtons.YesNo) == DialogResult.Yes) 
            {
                
                this.computer_GamesBindingSource.RemoveCurrent();
                this.Validate();
                this.computer_GamesBindingSource.EndEdit();
            }
        }

共1个答案

匿名用户

尝试进行如下检查:

if (this.computer_GamesBindingSource.Count > 0)
{
    /* put delete code here */
}

这样,只有在有记录时才执行删除代码。

有关详细信息,请参阅https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.bindingsource.count