【问题标题】:Delete listbox item that using DataSource that come from mdb(MS ACCESS)删除使用来自 mdb(MS ACCESS) 的 DataSource 的列表框项
【发布时间】:2013-02-18 14:17:11
【问题描述】:

我创建了一个 winform 程序,并在我的表单中有一个列表框和删除按钮。我的列表框使用来自 .mdb (Microsoft Access) 文件的数据源/数据绑定。这是我现在使用的删除按钮代码:

private void deletepcsetting_Click(object sender, EventArgs e)
{
    DialogResult dialogResult = MessageBox.Show("Are you sure want to delete PC No " + listBox1.SelectedItem + "?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
    if (dialogResult == DialogResult.Yes)
    {
        PCNo selectedPCNo = (PCNo)listBox1.SelectedItem;
        if (selectedPCNo != null)
        {
            OleDbCommand cmd = new OleDbCommand("DELETE FROM ClientListing WHERE PCNO = " + listBox1.SelectedItem + "", GetConnection());
            _pcno.Remove(selectedPCNo);
        }
        GetConnection().Close();
    }
}

忽略消息框,上面的代码成功从我的列表框中删除了该项目,但没有从数据库(mdb)中删除,所以这件事给我带来了问题,因为重新打开表单后我注意到之前已删除的项目是仍然存在(它只是从列表框中删除,而不是 mdb)。

我也尝试将删除命令从" + listBox1.SelectedItem + " 更改为"selectedPCNo",但没有成功,有人知道如何实现吗?

【问题讨论】:

    标签: c# ms-access listbox datasource


    【解决方案1】:

    命令执行器在哪里...?

    只需添加以下行并尝试相同的...

    MessageBox.Show(ListBox1.SelectedItem); //Check whether the Selected Item Rendered or NOT
    
    OleDbCommand cmd = new OleDbCommand("DELETE FROM ClientListing WHERE PCNO = " + listBox1.SelectedItem + "", GetConnection());
    cmd.ExecuteNonQuery() // it Executes the query...
    _pcno.Remove(selectedPCNo);
    

    【讨论】:

    • 啊..我忘记了执行者..谢谢提醒我..无论如何现在它弹出一个错误,即“没有为一个或多个必需参数提供值。”
    • @ZulfakarZukri 显示一个消息框并确认所选项目是否正确呈现... MessageBox.Show(ListBox1.SelectedItem)... 并尝试相同...
    • 您能列出您的 ListBox 中列出的项目吗...?同样在数据库表中,字段 PCNO 有什么值...?
    • 问题已解决,我只是将“listBox1.SelectedItem”更改为“pcno.Text”,这是文本框中的值,同时将数据绑定到该文本框(无论如何我之前将文本框属性设置为禁用他们按下编辑按钮..无论如何谢谢你提醒我关于执行者..干杯
    • 列表框中的项目是一个来自mdb文件字段PCNO的数字,值为1,2,3等...
    【解决方案2】:

    确保 listBox1.SelectedItem 返回正确的值,您是否尝试过使用 SelectedValue 代替?

    【讨论】:

    • 我认为选择的值不正确,因为消息框显示如下......“您确定要删除 PC No Platinum_Server.PCNo?”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多