我有一个C#项目中的SQL Server数据库。SQL Server数据库不会删除记录
我使用连接字符串来连接它..我可以使用方法ExecuteNonQuery
插入数据,没有问题。
但是,当我删除,它只是暂时删除它,只要我重新启动应用程序它回滚删除..任何想法?
PS:我在直接查询中测试了字符串,并且在那里工作得很好。
public void executeNonQuery(string input)
{
db.Open();
SqlCommand cmd = new SqlCommand(input, db);
cmd.ExecuteNonQuery();
db.Close();
}
编辑:缺失CODE:
private void buttonSletPost_Click(object sender, EventArgs e)
{
if(dataGridView1.GetCellCount(DataGridViewElementStates.Selected)>0){
for (int i = 0;i < dataGridView1.GetCellCount(DataGridViewElementStates.Selected); i++)
{
String str1 = String.Format("WARNING about to DELETE:\n {0} \n BE CAREFULL NO TURNING BACK NOW!", Regnskab.getInstance().dbSelectPostID(dataGridView1.SelectedCells[i].Value.ToString())[0].ToString());
if (MessageBox.Show(str1, "Confirm Deletion", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
string str = String.Format("DELETE FROM PostTable WHERE PostID={0}", dataGridView1.SelectedCells[i].Value.ToString());
Database.getInstance().executeNonQuery(str);
Console.WriteLine(str);
}
}
}else {MessageBox.Show("No cells selected");}
}
哪位能给下面的输出:在app.config中
DELETE FROM PostTable WHERE PostID=7
连接字符串:
<connectionStrings>
<add name="EndProject.Properties.Settings.DBtestConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DBtest.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" />
private Database()
{
string connStr = ConfigurationManager.ConnectionStrings["EndProject.Properties.Settings.DBtestConnectionString"].ConnectionString;
db = new SqlConnection(connStr);
}
然后我打开并关闭它,所以连接不是每次打开。
说实话:
我并不确切地知道在哪里看到我的数据库信息,这里是从VS2010性质一些信息。
提供:.NET Framework数据提供程序SQL Server
类型:Microsoft SQL Server的
安德鲁的第三:我想是因为我在我的DataGridView重新加载信息,他们被暂时删除,并从那里走了。但后来当我关闭应用程序,并重新启动它,它回来了...
另外我刚刚与VS2010的服务器浏览器进行了检查,做了一个“显示数据”后删除(之前关闭),它wasn不会删除。
但我现在完全无能为力。 :-(
您能否提供您用于删除表格或数据库的代码? – 2010-12-16 21:10:29
您是否正在使用Visual Studio,并且正在监督您已将“复制到输出目录”设置为“始终复制”或“如果新的复制”? (虽然这与你的陈述相矛盾,即插入没有问题 - 但无论如何都要检查)。 – Olaf 2010-12-16 21:11:34
我希望看到1)你在创建和处理连接的位置(我希望你没有缓存它或者为多个命令保留它)2)确切地说你正在使用什么SQL 3)是什么让你认为行是'暂时被删除'4)是什么让你认为他们'回滚' – 2010-12-16 21:12:43