当我运行程序时,它似乎没有任何错误,但它不会向数据库插入任何数据。是否缺少一些必要的代码?
这是我的代码:
Using string connection = @"Data Source=|DataDirectory|\InvoiceDatabase.sdf";
SqlCeConnection cn = new SqlCeConnection(connection);
try
{
cn.Open();
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.ExitThread();
}
SqlCeCommand cmd = new SqlCeCommand("INSERT INTO Client(Name, Address, Postcode, Telephone_Number)VALUES(@name, @address, @postcode, @tel)", cn);
cmd.Parameters.AddWithValue("@name", txt_ClientName.Text);
cmd.Parameters.AddWithValue("@address", txt_ClientAddress.Text);
cmd.Parameters.AddWithValue("@postcode", txt_postcode.Text);
cmd.Parameters.AddWithValue("@tel", txt_TelNo.Text);
try
{
int affectedRows = cmd.ExecuteNonQuery();
if (affectedRows > 0)
{
txt_ClientAddress.Text = "";
txt_ClientName.Text = "";
txt_postcode.Text = "";
txt_TelNo.Text = "";
MessageBox.Show("Client: " + txt_ClientName.Text + " added to database. WOoo", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Client: " + txt_ClientName.Text + " Failed to add to database. WOoo", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
提前感谢您的任何反馈。
答案 0 :(得分:1)
请确保您在数据库中查看添加行的位置。
在大多数情况下,数据库.sdf文件会被复制到release文件夹,您可以使用它,而服务器资源管理器已经打开了一些其他数据库文件。
尝试在Release下打开.sdf文件,检查是否添加了那些行。