删除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数据库时,它没有反映变化。
您缺少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)单击启用此内容。