【发布时间】:2014-01-27 11:24:06
【问题描述】:
如果这是一个普通问题或缺乏信息,请提前道歉,我是软件开发和堆栈溢出社区的新手。
为了澄清目的:
- 我在 SQL Server 2012 中使用 AdventureWorks 示例数据库,并创建了一个名为 Users 的表。
- 我正在使用 C#
我试图实现的目标和问题的概述:
用户应该能够在 datagridview 中选择一行并选择删除按钮以从数据库中删除所选用户。运行我的代码时,该行会从 datagridview 中删除,但不会从数据库中删除,并且在刷新 datagridview 时,记录会返回,我不太确定我哪里出错了..
private void btnDelete_Click(object sender, EventArgs e)
{
delete_record();
SqlConnection conn = new SqlConnection();
SqlCommand delcmd = new SqlCommand();
conn.ConnectionString = "server=localhost;Trusted_connection=yes;database=AdventureWorks2012";
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Users", conn);
DataTable dt = new DataTable();
da.Fill(dt);
dbgrid1.DataSource = dt;
conn.Close();
}
private void delete_record()
{
SqlConnection conn = new SqlConnection();
SqlCommand delcmd = new SqlCommand();
conn.ConnectionString = "server=localhost;Trusted_connection=yes;database=AdventureWorks2012";
if (dbgrid1.Rows.Count > 1 && dbgrid1.SelectedRows[0].Index != dbgrid1.Rows.Count - 1)
{
delcmd.CommandText = "DELETE FROM Users WHERE ID=" + dbgrid1.SelectedRows[0].Cells[0].Value.ToString() + "";
conn.Open();
delcmd.Connection = conn;
delcmd.ExecuteNonQuery();
conn.Close();
dbgrid1.Rows.RemoveAt(dbgrid1.SelectedRows[0].Index);
MessageBox.Show("deleted");
}
}
【问题讨论】:
标签: c# sql datagridview