private void btnUpdate_Click(object sender, EventArgs e)//更新修改项
{
try
{
OleDbConnection cn = DataBase.CreateAcc();
DataTable dt = (DataTable)dgv.DataSource;
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i].RowState == DataRowState.Modified)
{
OleDbDataAdapter da = new OleDbDataAdapter("select * from doublecolorball", cn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(da);
da.Update(dt);
MessageBox.Show("更新成功! ");
}
else
{
MessageBox.Show("没有修改数据,无法更新! ");//-------这里有问题
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误提示");
}
}
显示是用Datagridview.
问题是,点击更新后每行都会弹出“无法更新”的消息框。如果有上千行,那不是会弹出上千个吗?
如何才能弹出一次。
{
try
{
OleDbConnection cn = DataBase.CreateAcc();
DataTable dt = (DataTable)dgv.DataSource;
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i].RowState == DataRowState.Modified)
{
OleDbDataAdapter da = new OleDbDataAdapter("select * from doublecolorball", cn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(da);
da.Update(dt);
MessageBox.Show("更新成功! ");
}
else
{
MessageBox.Show("没有修改数据,无法更新! ");//-------这里有问题
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误提示");
}
}
显示是用Datagridview.
问题是,点击更新后每行都会弹出“无法更新”的消息框。如果有上千行,那不是会弹出上千个吗?
如何才能弹出一次。
for(......)
{
if(......)
{}
else
{
flag=false;
}
}
if(!flag)
{
MessageBox.Show("没有修改数据,无法更新! ");
}