我想知道我是否可以在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();
}
想弄明白,如何编写存储过程以拥有多个表。一个简单的例子将不胜感激。谢谢!
答案 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 !
}
}