单个sql查询作为数据集中的多个表返回

时间:2012-03-28 16:22:09

标签: c# sql

我想知道我是否可以在sql server 2005中使用单个查询作为c#,asp.net 2005中的数据集返回到不同的表中。

DataSet ds = new DataSet();
ds = new BusinessLogic.BizLogic().getData(int repID);
for(ds != null)
{
    txtDate.Text = ds.Tables[2].Rows[0]["Date"].ToString();
}

想弄明白,如何编写存储过程以拥有多个表。一个简单的例子将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:7)

你绝对可以,尽管你可能想要考虑考虑这种设计的总体目标和影响。

在您的存储过程中,您只需多次选择ala ..

select xxx, yyy from table1
select zzz, nnn from table2

沿着这些方向。

答案 1 :(得分:3)

是的,它很简单,你可以通过proc或内联sql来做,但就像上面的海报所说,考虑其含义。

 using (var sqlConn = new SqlConnection("Server=localhost;Database=Test;Integrated Security=SSPI"))
            {
                sqlConn.Open();
                string sql = "Select * From table1; Select * From table2;";
                using (var sqlCmd = new SqlCommand(sql, sqlConn))
                {
                    var da = new SqlDataAdapter(sqlCmd);
                    var ds = new DataSet();
                    da.Fill(ds);
                    Console.WriteLine(ds.Tables.Count); // Will show 2 !

                }

            }