c#foreach(datarow tables[].rows)帮看一下下面的代码
privateintGetChanges(){try{intncount=0;DataSetmodifiedds=mdataset1.GetChanges();if(mo...
private int GetChanges()
{
try
{
int ncount = 0;
DataSet modifiedds = mdataset1.GetChanges();
if(modifiedds==null)
{
return 0;
}
foreach (DataRow r in modifiedds.Tables["MODULE_CLASS_TABLE"].Rows)
{
if(r.RowState==DataRowState.Deleted)
{
consolewrite(r["ID",DataRowVersion.Original].ToString()+":"+r.RowState.ToString()+":");
}
if (r.RowState==DataRowState.Modified)
{
consolewrite(r["ID", DataRowVersion.Original].ToString() + ":" + r.RowState.ToString() + ":" + r["ID", DataRowVersion.Current].ToString() + "" + r["M_TITLE", DataRowVersion.Current].ToString());
}
if (r.RowState==DataRowState.Added)
{
consolewrite(r["ID",DataRowVersion.Current].ToString()+":"+r.RowState.ToString()+":"+r["M_TITLE",DataRowVersion.Current].ToString());
}
ncount++;
}
return ncount;
}
catch (Exception E)
{
errorhandler(E.ToString());
return 0;
}
}
private void btnsave_Click(object sender, System.EventArgs e)
{
try
{
if (mdataset1.HasChanges())
{
mcommand.Update(this.mdataset1);
MessageBox.Show("数据修改成功!");
consolewrite("共[" + GetChanges() + "]笔数据修改!");
mcommand.Update(this.mdataset1);
}
else
{
MessageBox.Show("无修改数据!");
}
}
catch (System.Exception E)
{
errorhandler(E.ToString());
}
}
有错,测试的时候明明修改了数据,可总是“0笔数据被修改”。
我刚入门,大家帮我看看,这是我照书上抄的例子,还不是特别清楚具体的意思。
DataRowVersion.Original].ToString()这个是什么意思
真诚的感谢大家的帮助,很想把分给大家每人都分点,希望我这个单一的选择不会让其他朋友感到失望。我不是学软件的,而且自己的基础也很差,学了段时间现在连门还没有入,每一步都难,幸亏有这么多热心人的帮助。谢谢大家! 展开
{
try
{
int ncount = 0;
DataSet modifiedds = mdataset1.GetChanges();
if(modifiedds==null)
{
return 0;
}
foreach (DataRow r in modifiedds.Tables["MODULE_CLASS_TABLE"].Rows)
{
if(r.RowState==DataRowState.Deleted)
{
consolewrite(r["ID",DataRowVersion.Original].ToString()+":"+r.RowState.ToString()+":");
}
if (r.RowState==DataRowState.Modified)
{
consolewrite(r["ID", DataRowVersion.Original].ToString() + ":" + r.RowState.ToString() + ":" + r["ID", DataRowVersion.Current].ToString() + "" + r["M_TITLE", DataRowVersion.Current].ToString());
}
if (r.RowState==DataRowState.Added)
{
consolewrite(r["ID",DataRowVersion.Current].ToString()+":"+r.RowState.ToString()+":"+r["M_TITLE",DataRowVersion.Current].ToString());
}
ncount++;
}
return ncount;
}
catch (Exception E)
{
errorhandler(E.ToString());
return 0;
}
}
private void btnsave_Click(object sender, System.EventArgs e)
{
try
{
if (mdataset1.HasChanges())
{
mcommand.Update(this.mdataset1);
MessageBox.Show("数据修改成功!");
consolewrite("共[" + GetChanges() + "]笔数据修改!");
mcommand.Update(this.mdataset1);
}
else
{
MessageBox.Show("无修改数据!");
}
}
catch (System.Exception E)
{
errorhandler(E.ToString());
}
}
有错,测试的时候明明修改了数据,可总是“0笔数据被修改”。
我刚入门,大家帮我看看,这是我照书上抄的例子,还不是特别清楚具体的意思。
DataRowVersion.Original].ToString()这个是什么意思
真诚的感谢大家的帮助,很想把分给大家每人都分点,希望我这个单一的选择不会让其他朋友感到失望。我不是学软件的,而且自己的基础也很差,学了段时间现在连门还没有入,每一步都难,幸亏有这么多热心人的帮助。谢谢大家! 展开
4个回答
展开全部
如果数据被修改过的话,
r["ID",DataRowVersion.Original].ToString() 是修改前的数据
r["ID", DataRowVersion.Current].ToString() 是修改后的数据。
你可能是在datagridview里改的数据吧。
改完数据后按下回车,离开修改的那个单元格 再点按钮应该就行了
r["ID",DataRowVersion.Original].ToString() 是修改前的数据
r["ID", DataRowVersion.Current].ToString() 是修改后的数据。
你可能是在datagridview里改的数据吧。
改完数据后按下回车,离开修改的那个单元格 再点按钮应该就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.查看Update(this.mdataset1)是否已经使DataSet进行了AcceptChange。
2.DataRowVersion.Original是修改前的行数据。
修改为看看:
int ret = GetChanges();
mcommand.Update(this.mdataset1);
MessageBox.Show("数据修改成功!");
consolewrite("共[" + ret + "]笔数据修改!");
不过最好在mcommand.Update(this.mdataset1)中返回修改的记录条数比较正确。
2.DataRowVersion.Original是修改前的行数据。
修改为看看:
int ret = GetChanges();
mcommand.Update(this.mdataset1);
MessageBox.Show("数据修改成功!");
consolewrite("共[" + ret + "]笔数据修改!");
不过最好在mcommand.Update(this.mdataset1)中返回修改的记录条数比较正确。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调试一下,那个DataRow row = new DataRow();
row["ID",System.Data.DataRowVersion version].toString();是查看你的数据版本也就是记录修改前 修改后的,你那个mdataset1.HasChanges()能返回true吗,如果结果是0条被修改 而mdataset1.HasChanges()返回true则可能是这个mdataset1.HasChanges()方法出错了
row["ID",System.Data.DataRowVersion version].toString();是查看你的数据版本也就是记录修改前 修改后的,你那个mdataset1.HasChanges()能返回true吗,如果结果是0条被修改 而mdataset1.HasChanges()返回true则可能是这个mdataset1.HasChanges()方法出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
modifiedds 是不是 null? r.RowState 的值对不对?最好debug调试一下看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询