我在修改数据 点击确定 弹出修改信息成功 可是为什么 dataGrid1 的数据没有改变呢 求高手赐教!!
SqlConnection sqlct = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Data\StoreMIS.mdf;Integrated Security=True;User Instance=True");
            sqlct.Open();
            SqlCommand cmd = new SqlCommand("", sqlct);
            string sql = "update materialinfo set MName = '" + textBox2.Text.Trim() + "' ,MModel = '" + textBox3.Text.Trim() + "' ,"+"MType = '"+textBox4.Text.Trim() + "',MUnit = '" +textBox5.Text.Trim() + "' where MID = '" + textBox1.Text.Trim() + "'";
            cmd.CommandText = sql;
            cmd.ExecuteNonQuery();
            MessageBox.Show("修改信息成功!","提示");
            this.Close();
            sqlct.Close();

解决方案 »

  1.   

    修改成功后 dataGrid1需要重新绑定数据源才能显示出来
      

  2.   

    private void GlanceMtFrm_Load(object sender, EventArgs e)
            {
                SqlConnection sqlct = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Data\StoreMIS.mdf;Integrated Security=True;User Instance=True");
                sqlct.Open();
                string sql = " select MID as 物资编号 , MName as 物资名称 , MModel as 物资型号, Mtype as 类型 , MUnit as 单位 from materialinfo";
                SqlDataAdapter adp = new SqlDataAdapter(sql, sqlct);
                DataSet ds = new DataSet();
                ds.Clear();
                adp.Fill(ds, "materialinfo");
                dataGrid1.DataSource = ds.Tables[0].DefaultView;
                dataGrid1.CaptionText = "共有" + ds.Tables[0].Rows.Count + "条记录";
                sqlct.Close();
            }
    这个不可以吗 还要在刷新?
      

  3.   

    private void GlanceMtFrm_Load(object sender, EventArgs e)
      {
      SqlConnection sqlct = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Data\StoreMIS.mdf;Integrated Security=True;User Instance=True");
      sqlct.Open();
      string sql = " select MID as 物资编号 , MName as 物资名称 , MModel as 物资型号, Mtype as 类型 , MUnit as 单位 from materialinfo";
      SqlDataAdapter adp = new SqlDataAdapter(sql, sqlct);
      DataSet ds = new DataSet();
      ds.Clear();
      adp.Fill(ds, "materialinfo");
      dataGrid1.DataSource = ds.Tables[0].DefaultView;
      dataGrid1.CaptionText = "共有" + ds.Tables[0].Rows.Count + "条记录";
      sqlct.Close();
      }
    这个不可以吗 还要在刷新?
      

  4.   


    //这是你写的代码
    SqlConnection sqlct = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Data\StoreMIS.mdf;Integrated Security=True;User Instance=True");
      sqlct.Open();
      SqlCommand cmd = new SqlCommand("", sqlct);
      string sql = "update materialinfo set MName = '" + textBox2.Text.Trim() + "' ,MModel = '" + textBox3.Text.Trim() + "' ,"+"MType = '"+textBox4.Text.Trim() + "',MUnit = '" +textBox5.Text.Trim() + "' where MID = '" + textBox1.Text.Trim() + "'";
      cmd.CommandText = sql;
      cmd.ExecuteNonQuery();
      MessageBox.Show("修改信息成功!","提示");
      this.Close();
      sqlct.Close();
    GlanceMtFrm_Load(sender, e);//重新加载本窗体就行
      

  5.   

    dataGridView1.DataBindings ,你试试
      

  6.   

    你自己试试,在拼接SQL语句哪里加个断点...  取出SQL语句,到SQL新建查询,执行一次试试看