日期:2014-05-18  浏览次数:20813 次

DataAdapter DataSet (100分,如能解决问题,不够再加......)
可以利用DataAdapter 更新DataSet中的数据,从而达到一次性修改数据库中的数据,即:DataAdapter.update(DataSet),其中DataSet 是从DataAdapter.fill中获取的,现问:如有一个现己够造的DataSet,能否申请一个新的DataAdapter,同样利用DataAdapter.update(DataSet)更新数据库?谢谢!

------解决方案--------------------
现问:如有一个现己够造的DataSet,能否申请一个新的DataAdapter,同样利用DataAdapter.update(DataSet)更新数据库?
==
可以

C# code
SqlConnection cn = new SqlConnection("...");
//只要表结构,不要表数据
SqlDataAdapter da = new SqlDataAdapter("Select yourField1,yourField2 FROM yourTable where 1 = 2", cn);
SqlCommandBuilder cmd = new SqlCommandBuilder(da);
cn.Open();
da.Update(yourDataSet);
cn.Close();

------解决方案--------------------
可以,没有问题

若有连接打开的话,应捕获一下异常
C# code

try
{
  conn.Open();
  //
}
catch
{
}
finally
{
  if(conn.State != ConnectionState.Closed && conn != null)
  {
    conn.Close();
  }
}

------解决方案--------------------
当然可以
构造好的Adapter中东西都是全的(连接,T-SQL等)
适配器就是要做这项工作的
------解决方案--------------------
可以啊,使用新的连接,创建新的dataAdapter
------解决方案--------------------
楼主说的当然可以。没有问题的。
不过最好在操作的时候象二楼那样判断下连接状态。