删除access数据库c#上的查询

本文关键字:查询 access 数据库 删除 | 更新日期: 2023-09-27 18:17:53

我正在创建一个应用程序与MS访问作为后端。我正在运行删除查询,但它不工作代码:

conchek.ConnectionString = ConfigurationManager.ConnectionStrings["KedarnathDB"].ConnectionString;
conchek.Open();
OleDbCommand cmdc = new OleDbCommand("select * from ReceiptsTrns Where ID=@CallerName", conchek);
cmdc.Parameters.Add("@CallerName", OleDbType.Numeric).Value = txtRcptNo.Text.Trim();
OleDbDataReader rd = cmdc.ExecuteReader();
if (rd.HasRows)
{
 conchek.Close();
 con1.ConnectionString = ConfigurationManager.ConnectionStrings["KedarnathDB"].ConnectionString;
 con1.Open();
 OleDbCommand cmd = new OleDbCommand("DELETE from ReceiptsTrns Where ID=@RCName", con1);
 cmd.Parameters.Add("@RCName", OleDbType.Numeric).Value = txtRcptNo.Text.Trim();
 con1.Close();
 MessageBox.Show("Receipt deleted successfully");
}
else
{
 conchek.Close();
 MessageBox.Show("No receipt found with this number");
}

代码成功运行,但当我看到我的MS Access数据库时,它没有反映变化。

删除access数据库c#上的查询

您缺少cmd上的Execute调用。您创建它,然后关闭连接,数据库永远不会运行该语句

con1.ConnectionString =   ConfigurationManager.ConnectionStrings["KedarnathDB"].ConnectionString;
con1.Open();
OleDbCommand cmd = new OleDbCommand("DELETE from ReceiptsTrns Where ID=@RCName", con1);
cmd.Parameters.Add("@RCName", OleDbType.Numeric).Value = txtRcptNo.Text.Trim();
**cmd.ExecuteNoQuery();**
con1.Close();

对于同样的问题,我遵循了以下步骤:

1)打开access database,

2)点击顶部功能区中的窗口图标,

3)点击访问选项,

4)点击信任中心设置,

5)当内容被阻止时,单击"在所有应用程序中显示消息栏"

6)关闭数据库并重新打开,

Access将显示一个警告"数据库中的某些内容已被禁用"

7)点击选项,

8)单击启用此内容。