为什么我的DataSet不会更新呢

yuchongjike 2008-07-07 03:57:52
这是我的C#的一个windows应用程序,为什么我的DataSet(DataSet_Distri_Status)和DataGridView(DBGrid_Distri_Status)没有更新过来???


private void timer1_Tick(object sender, EventArgs e)
{
Random rand = new Random();
int i = rand.Next(1, 10);
foreach(DataRow row in DataSet_Distri_Status.Tables[0].Rows)
{
Update_Distri_List(row, i);
DBGrid_Distri_Status.Update();
}
}

private void Update_Distri_List(DataRow row, int count)
{
string updatecommand = "UPDATE m_Customer SET '當前MAC' = '?', '已分派數量' = '?', '可用數量' = '?' WHERE '起始地址' = '?' AND '結束地址' = '?' AND '客戶名稱' = '?'";
OleDbCommand update = new OleDbCommand(updatecommand, MyConnect_DataBase);
update.Parameters.Add("當前MAC",OleDbType.Char);
update.Parameters.Add("已分派數量",OleDbType.Char);
update.Parameters.Add("可用數量",OleDbType.Char);
update.Parameters.Add("起始地址",OleDbType.Char);
update.Parameters.Add("結束地址",OleDbType.Char);
update.Parameters.Add("客戶名稱",OleDbType.Char);
update.Parameters["客戶名稱"].Value = row["客戶名稱"].ToString();
update.Parameters["起始地址"].Value = row["起始地址"].ToString();
update.Parameters["結束地址"].Value = row["結束地址"].ToString();
update.Parameters["當前MAC"].Value = (Convert.ToInt64(row["當前MAC"].ToString().Trim(),16) + count).ToString("X12");
update.Parameters["已分派數量"].Value = (Convert.ToInt64(row["已分派數量"].ToString().Trim(), 10) + count).ToString();
update.Parameters["可用數量"].Value = (Convert.ToInt64(row["可用數量"].ToString().Trim(), 10) - count).ToString();
Adapter_Distri_Status.Update(DataSet_Distri_Status);
}

...全文
51 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
怫悰 2008-07-07
  • 打赏
  • 举报
回复
看看DataRowView视图相关的,表里的数据有几种状态,你的可能还没有accept
你直接用adapter就可能不用关心这些问题了
不知道是不是这个原因
pinhailinfeng 2008-07-07
  • 打赏
  • 举报
回复
看下你的Value取到值了没。

110,896

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧