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

Posted

技术标签:

【中文标题】在 Visual C# 中修复我的 MS Access 数据库时出错【英文标题】:Error fixing my MS Access Database in Visual C# 【发布时间】:2022-01-17 00:58:08 【问题描述】:

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

编辑数据库时:如果数据库为空,我尝试删除一条记录两次我的程序中断,我得到错误:System.InvalidOperationException: 'Current item cannot be removed from the list because there is no current item.'

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

这是我的数据库删除按钮的代码,实际上没有任何其他代码与我自己更改的数据库有关,因为我不知道该怎么做。

private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)

    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

【讨论】:

谢谢你,这正是我想要的

以上是关于在 Visual C# 中修复我的 MS Access 数据库时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 2013 中使用 MS Access (C#) 生成发票

C# 检查已安装的 .NET Framework 和 MS Visual C++ Redist 版本

将日期插入 Ms-Access 数据库的问题

MS Visual Studio 2012 Express 是不是同时包含 C#、Visual Basic、C++? [关闭]

回到旧模板 Visual Studio Code C#

如何修复烦人的 Visual Studio 文本编辑器光标错位错误