初始化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