代码问题
下面代码是把datagridview的内容update进一个表里,如果我想限制datagridview中的cj_counts字段只能是数字,cj_dates不能为空应该如何写?为空就不让保存。还有我现在点message的ok按钮时保存会成功但是
  MessageBox.Show("恭喜","数据保存成功!");却不出来提示。为什么? private void button1_Click(object sender, EventArgs e)
        {
            SqlCommandBuilder updates = new SqlCommandBuilder(find_do);
            try
            {
            find_do.UpdateCommand = updates.GetUpdateCommand();
            find_do.Update(ds, "rs");
            }
            catch (System.Exception sqler)
            {
                MessageBox.Show("数据库不存在或用户名密码错误!", sqler.Message);
                return;
            }
            DialogResult uprs = MessageBox.Show("修改提示", "您要保存结果吗?", MessageBoxButtons.YesNo);
            switch(uprs)
            {
                case DialogResult.OK:
                    dataGridView1.Update();
                    MessageBox.Show("恭喜","数据保存成功!");
                    break;
                case DialogResult.No:
                    break;
            }

解决方案 »

  1.   

    case DialogResult.OK:
    修改成
    case DialogResult.YES:
      

  2.   


            private void button1_Click(object sender, EventArgs e)
            {
                DialogResult uprs = MessageBox.Show("修改提示", "您要保存结果吗?", MessageBoxButtons.OKCancel);
                switch (uprs)
                {
                    case DialogResult.OK:
                     
                        MessageBox.Show("恭喜", "数据保存成功!");
                        break;
                    case DialogResult.No:
                        break;
                }        }
      

  3.   

    btw:你的询问应该在真正更新DB之前,而不是之后啊。
    find_do.Update(ds, "rs");这句话是真的更新DB。
    所以这个按钮事件里,上来就应该先询问,最后根据find_do.Update(ds, "rs");
    无异常再提示成功。现在的结果是:如果我点NO,那么数据库实际已经被更新了。限制datagridview中的cj_counts字段只能是数字,cj_dates不能为空应该如何写?-> 在Cell_Validating事件里Check参考:http://blog.csdn.net/fangxinggood/archive/2007/10/12/1821425.aspx#A2