一個關于DataSet.Merge()方法的問題 我將DataSet中的一行數據改變(主鍵不變)﹐用GetChanges方法將改變的那一行存到另一個DataSet對象DataSetChanged中﹐然后調用DataSet.Merge(DataSetChanged,true),Dataset中出現兩行相同的數據﹐將true改成false也一樣﹐為什么?我沒有改變DataSetChanged中的數據。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void btnUpdate_Click(object sender, System.EventArgs e) { //獲取選中的行 DataRow targetRow = dataTable.Rows[lbCustomers.SelectedIndex]; //編輯行 targetRow.BeginEdit(); targetRow["CompanyName"] = txtCustomerName.Text; targetRow.EndEdit(); //獲取已改變的所有行 DataSet DataSetChanged = DataSet.GetChanges(DataRowState.Modified); //測試﹐以確保已修改的行無誤 bool okayFlag = true; if (DataSetChanged.HasErrors) { okayFlag =false; string msg = "Error in row with customer ID "; //在已改變的DataSet中查看每個表 foreach (DataTable theTable in DataSetChanged.Tables) { //如有錯﹐看是哪一行 if (theTable.HasErrors) { //獲取有錯的行 DataRow[] errorRows = theTable.GetErrors(); //遍歷錯誤并改正 foreach (DataRow theRow in errorRows) { msg = msg + theRow["CustomerID"]; } } } lblMessage.Text = msg; } //如無錯 if (okayFlag) { //將改變與原DataSet合并 DataSet.Merge(DataSetChanged,false); //更新數據庫 sqlDataAdapter1.Update(DataSet,"Customers"); //接受變化﹐并重新生成列表框 DataSet.AcceptChanges(); PopulateLB(); } else //如果有錯﹐拒絕改變 DataSet.RejectChanges(); } 这个网站的 POST 登录该如何写 怎么去掉无边框窗体四角的锯齿啊,求解 GridView 与 DropDownList 结合问题,纯后台编码 请问public string abc 和public static string abc有什么区别 请教一个treeview无刷新遍历以及获取选中值 倒计时后激发按钮事件的问题!~ 读取Oracle中的AQ的问题 C#的函数默认参数是什么? 跪求c#控件的教程,中文版的谢谢哦i 为什么MDI窗体为什么不能设置为启动窗体,谢谢指教!!! listbox不能显示中文?为什么是乱码? 在C#中不通过New怎样实例化类
{
//獲取選中的行
DataRow targetRow = dataTable.Rows[lbCustomers.SelectedIndex]; //編輯行
targetRow.BeginEdit();
targetRow["CompanyName"] = txtCustomerName.Text;
targetRow.EndEdit(); //獲取已改變的所有行
DataSet DataSetChanged = DataSet.GetChanges(DataRowState.Modified); //測試﹐以確保已修改的行無誤
bool okayFlag = true;
if (DataSetChanged.HasErrors)
{
okayFlag =false;
string msg = "Error in row with customer ID "; //在已改變的DataSet中查看每個表
foreach (DataTable theTable in DataSetChanged.Tables)
{
//如有錯﹐看是哪一行
if (theTable.HasErrors)
{
//獲取有錯的行
DataRow[] errorRows = theTable.GetErrors(); //遍歷錯誤并改正
foreach (DataRow theRow in errorRows)
{
msg = msg + theRow["CustomerID"];
}
}
}
lblMessage.Text = msg;
}
//如無錯
if (okayFlag)
{
//將改變與原DataSet合并
DataSet.Merge(DataSetChanged,false);
//更新數據庫
sqlDataAdapter1.Update(DataSet,"Customers");
//接受變化﹐并重新生成列表框
DataSet.AcceptChanges();
PopulateLB();
}
else //如果有錯﹐拒絕改變
DataSet.RejectChanges();
}