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

时间:2014-05-04 11:28:27

标签: asp.net web-services dataset

我必须在Java中使用一些Web方法,但我错误地返回数据集而不是另一种使代码不易互操作的类型。以下是我想要使用的web方法的示例:

 [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;
}

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

1 个答案:

答案 0 :(得分:0)

我认为我通过将sqlDataReader的结果转换为带有字符串的List来解决了这个问题。

[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来格式化结果。