[英]delete query on access database c#
我正在創建一個以MS Access作為后端的應用程序。 我正在運行刪除查詢,但是它不起作用代碼:
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)打開您的訪問數據庫,
2)單擊頂部功能區中的Windows圖標,
3)點擊訪問選項,
4)點擊信任中心設置,
5)當內容被阻止時,單擊在所有應用程序中顯示消息欄
6)關閉數據庫,然后重新打開它,
Access將向您顯示警告“數據庫中的某些內容已被禁用”
7)點擊選項,
8)單擊啟用此內容。
您的數據庫已准備好進行操作...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.