【问题标题】:Not able to update specifc DataTable in DataSet无法更新 DataSet 中的特定 DataTable
【发布时间】:2013-02-21 02:52:07
【问题描述】:
private void Form1_Load(object sender, EventArgs e)
{
      da = new SqlDataAdapter("select * from record",@"database=student;server=arun-pc\mypc;integrated security=true");
      da.Fill(ds,"record");
}

private void button1_Click(object sender, EventArgs e)
{
      da.SelectCommand.CommandText = "select * from emp";
      da.Fill(ds,"emp");
      dataGrid1.DataSource = ds;
}

private void button2_Click(object sender, EventArgs e)
{
      cb = new SqlCommandBuilder(da);
      da.Update(ds.Tables[0]);
      MessageBox.Show("updated")
}

我无法更新table[0],但我可以在table[1] 进行更新,但我不知道为什么会这样?

【问题讨论】:

  • 请用您的具体问题更新您的标题,您是否调试过您的代码?
  • 检查用户是否对表有更新权限。此外,使用 try/catch 块来获取任何异常。
  • 是否显示任何错误消息,或者它只是在其上静默执行(行)?

标签: c# .net ado.net datatable sqldataadapter


【解决方案1】:

如果您在进行数据访问时按照此处的这些教程进行操作,对您来说会容易得多(如果您不在 2.0 上,请务必选择您的 .net 版本):

http://msdn.microsoft.com/en-us/library/fxsa23t6(v=vs.80).aspx

从“创建一个简单的数据应用程序”开始

至于实际出了什么问题,如果您发现的只是没有更新任何行(更新返回 0),那么您应该首先检查您发送更新的表实际上是否包含修改的行..

按照教程进行操作,然后进行数据访问,它要么全部解决,要么你会收到一条错误消息,告诉你哪里出了问题:)

【讨论】:

  • 最后我找到了我的答案“一个数据适配器可以更新一个表,我在数据集中使用了两个表,所以它只更新表[1]。最后一个”感谢您的回复
猜你喜欢
  • 2017-04-21
  • 2011-02-08
  • 2013-09-20
  • 2013-03-17
  • 1970-01-01
  • 2018-11-15
  • 2012-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多