【发布时间】:2018-06-28 04:46:12
【问题描述】:
在单击分配用于删除记录的按钮时遇到问题。每当我单击它时,它都会在消息框中显示 Microsoft Access 数据库引擎,但它不会删除记录。
这是我的代码:
private void button1_Click(object sender, EventArgs e) {
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = (@ "Provider= Microsoft.ACE.OLEDB.12.0;Data Source =C:\Users\pc\Documents\Visual Studio 2015\Projects\GamefarmDB\GamefarmDB\Gamefarm.accdb;User ID = admin;Jet OLEDB:Database Password=admin; Persist Security Info=True;");
String WingbandNumber = textBox1.Text;
OleDbCommand cmd = new OleDbCommand("DELETE FROM List WHERE WingbandNumber ='" + WingbandNumber + "'", conn);
conn.Open();
if (conn.State == ConnectionState.Open) {
cmd.Parameters.Add("@WingbandNumber", OleDbType.Numeric).Value = WingbandNumber;
try {
cmd.ExecuteNonQuery();
MessageBox.Show("Data Deleted");
conn.Close();
this.Close();
} catch (OleDbException ex) {
MessageBox.Show(ex.Source);
conn.Close();
}
} else {
MessageBox.Show("Connection Failed");
}
}
【问题讨论】:
-
不应该是
WHERE WingbandNumber ='" + WingbandNumber + "'"是WHERE WingbandNumber = @WingbandNumber"? -
我试过了,显示“System.Data.dll中发生System.InvalidOperationException”
-
我想它也会给你一个错误信息。