循环中的c#循环

时间:2012-01-28 16:35:51

标签: c# .net web-services

我目前正在使用DataSet将结果带回到C#服务中,我现在需要将其更改为循环初始数据集并从此结果中恢复数据的子集。

所以我需要使用标识符循环遍历这些结果,然后在每个结构下面的嵌套中显示另一组结果。使用数据集似乎无法从我有限的C#知识中实现这一点。

EG>循环通过DB,对于DB循环中的每个结果通过另一个表。

[WebMethod(BufferResponse=true,Description="Viewing Things")] 
public DataSet MyFunctionIs (int IDtoQuery) 
{ 
  MySqlConnection dbConnection = new   MySqlConnection("server=na;uid=na;pwd=na;database=na;");
  MySqlDataAdapter objCommand = new MySqlDataAdapter("SELECT STATEMENT HERE;", dbConnection);
  DataSet DS = new DataSet(); 
  objCommand.Fill(DS,"MyFunctionIs");
}

但即使使用连接也不会实现..我需要查询返回的每一行并返回XML响应的子数据集

1 个答案:

答案 0 :(得分:0)

通常,您可以通过使用连接多个表并仅返回一组行的SQL查询来解决此类问题。这使您可以大致了解如何尝试:

string ConnectionString = "server=myserver;uid=sa;pwd=secret;database=mydatabase";
using (var con = new SqlConnection(ConnectionString)) {
    string CommandText = "SELECT p.firstname, p.lastname, o.operderdate " +
                         "FROM persons p LEFT JOIN orders o ON p.person_id = o.person_id";
    using (var cmd = new SqlCommand(CommandText, con)) {
        con.Open();
        using (var reader = cmd.ExecuteReader()) {
            while (reader.Read()) {
                Console.WriteLine("{0} {1}, {2}", reader["firstname"], reader["lastname"], reader["operderdate"]);
            }
        }
    }
}