【发布时间】:2018-06-27 22:22:40
【问题描述】:
我正在尝试编辑 Access DB_。由于某种原因,我无法插入任何东西。我相信我的代码是正确的。连接字符串是正确的(尽管出于安全目的,我为这篇文章放了一个假的)。最后,我没有得到MessageBox,就像我应该在函数结束时那样。 Access DB 中也没有添加任何内容。
这可能是什么原因?
namespace TestBuild
{
public partial class Form1 : Form
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users...\Documents\TestDB.accdb");
public Form1()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
con.Open();
OleDbCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into table1 values('"+textBox1.Text+"','"+textBox2.Text+"')";
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("record inserted successfully");
}
}
}
【问题讨论】:
-
添加一个try/catch,看看有没有抛出异常。或者在调试模式下运行您的代码并单步执行...
-
您确定您的事件处理程序已被调用吗?如果您对该代码没有任何异常,那么您的代码可能尚未被调用。在第一行放置一个断点并确认您的事件处理程序运行
-
如果您不想使用调试器,请在该单击处理程序的第一行添加一个消息框调用:单击按钮时是否看到该消息?
-
@arekenny3 - 一切顺利吗?您是否重构以添加 try/catch 块(重要)?您是否能够单步执行代码并确定确切的故障点?使用调试器,您是否确认实际调用了 Button1_Click()?
标签: c# database winforms ms-access