代码问题
下面代码是把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;
}
下面代码是把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;
}
修改成
case DialogResult.YES:
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;
} }
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