C# Oledb 更新应用程序中的数据

标签 c# ms-access oledb oledbcommand

所以我有一个表格,其中有两个部分,一个要添加,一个要删除。 enter image description here 但问题是当我添加数据时,然后当我检查与删除部分关联的组合框时,我可以看到所有以前的数据,除了我刚刚添加的数据。所以我需要某种解决方案来刷新并在我单击“添加”按钮后立即将所有内容重新放入组合框中,但不幸的是最新数据不会显示。

添加按钮代码:

private void btnAddSubj_Click(object sender, EventArgs e)
    {
        OleDbDataReader cmd = ad.select("SELECT TOP 1 ID FROM subjects WHERE ID = " + int.Parse(txtSubjID.Text));
        if (cmd.Read())
        {
            MessageBox.Show("Subject ID you entered is taken, please select a different one");
        }
        else
        {
            ad.insert("insert into subjects (`ID`,`subjectName`) values(" + int.Parse(txtSubjID.Text) + ",'" + txtSubjName.Text + "')");

        }
        populateComboBoxSubjName();
    }

这里的广告与我创建的类相关联,包含插入、选择、删除、更新的所有方法。

populateComboBoxSubjName 的代码:

private void populateComboBoxSubjName()
    {
        comboBoxSubjName.Items.Clear();
        OleDbDataReader cmd = ad.select("SELECT * FROM subjects");

        while (cmd.Read())
        {
            for (int f = 0; f < cmd.FieldCount; f+=2)
            {
                string data = (cmd.GetValue(f).ToString() + "-" + cmd.GetValue(f + 1).ToString());
                comboBoxSubjName.Items.Add(data);
            }
        }
    }

按钮删除代码:

private void btnDeleteSubj_Click(object sender, EventArgs e)
    {
        string selected = this.comboBoxSubjName.GetItemText(this.comboBoxSubjName.SelectedItem);
        string[] idToDelete = selected.Split('-');
        ad.delete("DELETE FROM subjects WHERE ID=" + int.Parse(idToDelete[0]));
    }

最佳答案

我正在尝试使用另一个类执行 sql 查询(我创建了一个类并使用不同的方法对所有查询和连接进行了编码,例如插入、删除、选择)所以我不需要一次又一次地编写整个命令,但对于一些它没有工作的原因。我不得不一次又一次地编写每个命令,这非常有效。

关于C# Oledb 更新应用程序中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46914903/

相关文章:

python - 从 pandas DataFrame 插入 Access 数据库

database - 免费/开源 DataEase 提供商

c# - 参数化查询中缺少必需参数?

c# - OleDbParameterCollection 没有定义构造函数

c# - 有没有正确的方法来检索 SQL 中的字符串字段

c# - 如何在同一程序集中成功编译自引用类或循环引用类

C# - 我可以将一个函数的调用映射到实际调用另一个函数吗

c# - C#数据库查询错误消息?

c# - 在 ASP.NET MVC 中通过 PrintQueue 作业打印失败,打印文件大小为 0 字节

java - 使用java合并两个ms access数据库