服务器发布WebService返回DataTable

初始化Datatable时,需要为Datatable命名。否则在客户端使用时,会报“datatable不能序列化...”导致表格无法从服务器端读取到。

 

例如:

服务器端:

DataTable dt = new DataTable("default")
 1 [WebMethod]
 2         public DataTable GetDBTable(string strSql)
 3         {
 4             DataTable dt = new DataTable("default");
 5             string sqlConnStr = this.ConnectionString;
 6             OracleConnection conn = new OracleConnection(sqlConnStr);
 7             using (conn)
 8             {
 9                 try
10                 {
11                     conn.Open();
12                     OracleDataAdapter myDataAdapter = new OracleDataAdapter(strSql, conn);                    
13                     myDataAdapter.Fill(dt);
14                     return dt;
15                 }
16                 catch (Exception e)
17                 {
18                     return null;
19                 }
20             }
21         }

客户端:

 1 public static DataTable GetDBTable(string strSql)
 2         {
 3             try
 4             {
 5                 localhost.Service1 sc = new localhost.Service1();
 6                 sc.Url = curURL;
 7                 return sc.GetDBTable(strSql);
 8             }
 9             catch(Exception ee)
10             {
11                 return null;
12             }
13         }

 参考博文:http://hi.baidu.com/flydragon1978/item/9db13d8a89827c5f27ebd961

 

posted @ 2014-02-12 15:39  寻梦放歌  阅读(373)  评论(0编辑  收藏  举报