ds=new localhost.dsSf();
s=new localhost.Service1();
ds.Merge(s.GetDataSetDept());
dataGrid1.DataSource=ds.Tables[0];
//【问题一】此处不明白,结果为何dataGrid1中只显示字段而没有记录???
把这段代码换一下试试
s=new localhost.Service1();
ds = new System.Dataset();
ds = s.GetDataSetDept();
DataGrid.DataSource= ds.tables[0];
至于更新你把ds定义成public DataSet ds,
然后更新使用如下的语句:
s=new localhost.Service1();
s.UpdateDept(ds.GetChanges());
看看conn有没有OPen()

解决方案 »

  1.   

    谢谢 snof(雪狼) ,第一个问题已经解决,问题出在WebService方法上。
      

  2.   

    第二个问题,由于不同的调用,属于不同的session,所以查询和更新在不同session,那么在更新的时候不能成功。解决的方法:
    1、在客户端增加Cookie,可以使用CookieContainer这个类,用它产生Cookie,从而是前后调用在同一个Session;
    2、修改服务器端的更新操作
      

  3.   

    第二个问题也解决啦,爽!问题的根源同 Knight94(愚翁) 的意思差不多,不过我的是WinForm的客户端。谢谢 Knight94(愚翁) 但是我又遇到一个问题
    【问题三】为何在WebService上添加的数据集在客户端添加的Web引用中会看不到??
              可有时又看得到!
      
    最后一个问题,不好意思,手头的分少了些,所以问题多了些,见谅!
      

  4.   

    【问题三】为何在WebService上添加的数据集,在客户端添加的Web引用中会看不到??
     -----------------------------------------------------------------------------
    Knight94(愚翁) :谢谢你一直关注,我在客户端将Web引用更新也看 不到,删除Web引用后重新引用也看不到,重新试了几次都一样,郁闷ing...究竟还有什么机关???
    最后一问,大家帮忙,马上结贴!
      

  5.   

    我写WebService时,当时把需要的数据,都用类库进行包装,所以客户端调的时候没问题。
    你所说的这种情况,我没遇到过,记得以前有一篇文章,好像做序列化之类的操作。