在.net中使用数据集的互操作性问题



我必须在Java中使用一些web方法,但我犯了一个错误,返回数据集而不是另一种类型,这使得代码的互操作性较差。下面是一个我想要使用的webmethod的例子:

 [WebMethod (Description =" Returns all employees")]
public DataSet GetAllEmployees()
{
    RefreshConnection();
    SqlDataAdapter sql = new SqlDataAdapter("select * " +
        " from Employee_Table", OpenConnection());
    DataSet employeeDataSet = new DataSet();
    sql.Fill(employeeDataSet, "Employees");
    return employeeDataSet;
}

现在我不知道如何解决这个问题。我是一个初学者在网络服务,所以请也给你的解决方案的解释。

我认为我通过将sqlDataReader的结果转换为带有字符串的列表来解决问题。

[WebMethod (Description =" Returns all employees")]
public List<string> GetAllEmployees()
{
    RefreshConnection();
   List <string> data = new List<string>();
    SqlCommand sqlData = new SqlCommand("select * " +
      " from Employee_Table", OpenConnection());
      SqlDataReader sqlReads = sqlData.ExecuteReader();
      while (sqlReads.Read())
      {
          data.Add((string)sqlReads.GetValue(1));
          data.Add((string)sqlReads.GetValue(2));

      }
      return data;
}

在java中由代理对象:

private List<String> getEmployee() throws RemoteException{
        return Arrays.asList(proxy.convertToList());
    }

现在我的问题是如何区分两列?该数组接受所有内容,而不像使用resultSet那样格式化结果。

最新更新