private void delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strDel="delete from Document where id='"+e.Item.Cells[0].Text+"'";
sqlConn1.Open(); SqlCommand cmdDel=new SqlCommand();
cmdDel.CommandText=strDel;
cmdDel.Connection=sqlConn1;
cmdDel.ExecuteNonQuery(); sqlConn1.Close();
// sqlDA1.Update(dataSet11,"Document"); DataGrid1.DataSource=dataSet11.Tables["Document"];
DataGrid1.DataBind();
}
这是DataGrid按钮列的删除事件,为什么我运行时要对记录删除2次才会真正执行删除呢?第一次按下去页面刷新一下,但没执行删除,不明白是为什么。
{
string strDel="delete from Document where id='"+e.Item.Cells[0].Text+"'";
sqlConn1.Open(); SqlCommand cmdDel=new SqlCommand();
cmdDel.CommandText=strDel;
cmdDel.Connection=sqlConn1;
cmdDel.ExecuteNonQuery(); sqlConn1.Close();
// sqlDA1.Update(dataSet11,"Document"); DataGrid1.DataSource=dataSet11.Tables["Document"];
DataGrid1.DataBind();
}
这是DataGrid按钮列的删除事件,为什么我运行时要对记录删除2次才会真正执行删除呢?第一次按下去页面刷新一下,但没执行删除,不明白是为什么。
{
GridBound();//绑定数据
}
你这个table还是缓存中的table,没有刷新,要重新select出来才行的
private void delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strDel="delete from Document where id='"+e.Item.Cells[0].Text+"'";
sqlConn1.Open(); SqlCommand cmdDel=new SqlCommand();
cmdDel.CommandText=strDel;
cmdDel.Connection=sqlConn1;
cmdDel.ExecuteNonQuery(); sqlDA1.SelectCommand.CommandText="select * from Document";
sqlDA1.SelectCommand.Connection=sqlConn1;
sqlDA1.Fill(dataSet11,"Document");
sqlConn1.Close(); DataGrid1.DataSource=dataSet11.Tables["Document"];
DataGrid1.DataBind();
}
===
改成局部的dataset
2、那我现在的这个问题能说一下怎么解决吗?我觉得问题挺清楚了,就是删除操作之后DataSet里的表没能更新的关系,有朋友说重新Select一下,我试了一下,但不知道那里不对,大家帮我看下吧。
private void delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strDel="delete from Document where id='"+e.Item.Cells[0].Text+"'";
sqlConn1.Open(); SqlCommand cmdDel=new SqlCommand();
cmdDel.CommandText=strDel;
cmdDel.Connection=sqlConn1;
cmdDel.ExecuteNonQuery(); sqlDA1.SelectCommand.CommandText="select * from Document";
sqlDA1.SelectCommand.Connection=sqlConn1;
sqlDA1.Fill(dataSet11,"Document");
sqlConn1.Close(); DataGrid1.DataSource=dataSet11.Tables["Document"];
DataGrid1.DataBind();
}
private void delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strDel="delete from Document where id='"+e.Item.Cells[0].Text+"'";
sqlConn1.Open(); SqlCommand cmdDel=new SqlCommand();
cmdDel.CommandText=strDel;
cmdDel.Connection=sqlConn1;
cmdDel.ExecuteNonQuery(); sqlConn1.Close(); string strConn="server=(local);database=shujuku;Trusted_Connection=yes;integrated security=true";;
SqlConnection sqlConn2=new SqlConnection(strConn);
sqlConn2.Open();
DataSet ds=new DataSet();
string strCmd="select * from Document";
SqlDataAdapter sqlDA2=new SqlDataAdapter(strCmd,sqlConn2);
// sqlDA2.SelectCommand.CommandText="select * from Document";
// sqlDA2.SelectCommand.Connection=sqlConn2;
sqlDA2.Fill(ds,"Document");
sqlConn2.Close(); DataGrid1.DataSource=ds.Tables["Document"];
DataGrid1.DataBind();
}
注意看//部分,这是灵活的创建方法呀,为什么用
SqlDataAdapter sqlDA2=new SqlDataAdapter();
sqlDA2.SelectCommand.CommandText="select * from Document";
sqlDA2.SelectCommand.Connection=sqlConn2;
就还是没把内容刷新,一定要用
SqlDataAdapter sqlDA2=new SqlDataAdapter(strCmd,sqlConn2);呢?
{
GridBound();//绑定数据
}