簡體   English   中英

刪除訪問數據庫C#上的查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM