请教一个关于创建webservice的问题;
webservice中引用一个类a--用来访问数据库
其中a中有个方法,结果是返回DataTable。
如下:
public DataTable Read_db() //从数据库中读取数据
{
SqlConnection con=new SqlConnection(Constring);
con.Open();
SqlDataAdapter da=new SqlDataAdapter(Sqlstring,con);
DataSet ds=new DataSet();
da.Fill(ds,"test");
return ds.Tables["test"];
}
在webservice中调用a
[WebMethod]
public DataSet ReadUf(string strsql)
{
db.Connection=System.Configuration.ConfigurationSettings.AppSettings.Get ("SqlCon").ToString();
db.Sql=strsql;
DataTable ufTable=db.Read_db();
DataSet ds=new DataSet();
ds.Tables.Add(ufTable);
return ds;
}
在客户端引用webservice的时候出现错误:
未处理的“System.Web.Services.Protocols.SoapException”类型的异常出现在 system.web.services.dll 中
其他信息:System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.ArgumentException: DataTable 已属于另一个 数据集。
at UfPrinter.UfData.ReadUf(String strsql) in d:\web program\ufprinter\ufdata.asmx.cs:line 82
--- 内部异常堆栈跟踪的结尾 ---
为什么???