我正忙于一个项目,我必须在Visual Studio 2010 express中创建的紧凑SQL db文件中插入一些数据。我做的每一项检查都说插件正确完成,只有一个缺点,每次检查数据库时都没有插入数据。 我试过了:
检查command.executenonquery()结果
我试着抓住了。
我做了一个直接的SQL插入,这很有用。
我检查了Connectionstate。
所以我没有想法,我希望你们能帮忙。
哦,代码可能有用:
private void butAddOilBlend_Click(object sender, EventArgs e)
{
ConnectToDB Connection = new ConnectToDB();
try
{
Connection.Connect.Open();
string SQLCommand = "INSERT INTO OilBlendsTable(oilblendsName, oilblendsDescription) VALUES(@OilBlendsName, @OilBlendsDescription)";
using (SqlCeCommand Command = new SqlCeCommand(SQLCommand, Connection.Connect))
{
Command.Parameters.AddWithValue("@OilBlendsName", tbNameOilBlend.Text);
Command.Parameters.AddWithValue("@OilBlendsDescription", tbOilBlendDescription.Text);
Command.ExecuteNonQuery();
int AffectedRows = Command.ExecuteNonQuery();
MessageBox.Show(AffectedRows.ToString());
}
lblFinalWord.Text = "You just added a new blend named: " + tbNameOilBlend.Text;
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
Connection.Connect.Close();
}
}
答案 0 :(得分:1)
Copy Always
表示每次开始调试应用程序时,SDF文件的全新副本将从Project Directory
复制到DataDirectory
,覆盖已存在的文件。
winforms应用中的DataDirectory
是BIN \ DEBUG
您的插入进入该数据库(BIN \ DEBUG \ OilDB.sdf)
在下一次运行时,这些插入物将丢失
您应该使用Copy If Newer
Where is the |DataDirectory|
Visual Studio - File Properties
在这里,我假设您通过Server Explorer窗口中定义的连接检查缺少的数据,查看存储在项目目录中的文件。检查其连接字符串