显示数据列表

时间:2013-06-16 09:09:48

标签: c# asp.net visual-studio-2010 sql-server-2008

  

我有一个问题,即绑定来自2个表的数据主义者......我使用了这段代码        DataSet ds = DataManager.ExecuteDataSet(“select_unionmembers_full_info”);

    ds.Tables[0].TableName = "unionmembers";
    ds.Tables[1].TableName = "user_sign_up";

    ds.Relations.Add(new DataRelation("stunion", ds.Tables["unionmembers"].Columns["stuid"],

    ds.Tables["user_sign_up"].Columns["stu_id"], false));

    alreadyexistdl.DataSource = ds.Tables[0];

    alreadyexistdl.DataBind();
} 
  

这是我使用的连接查询(select_unionmembers_full_info)
   选择*,用户名,来自unionmembers的id,user_sign_up,其中stuid = stu_id   这个错误出现在我身上!   找不到表1。
       第14行:   第15行:ds.Tables [0] .TableName =“unionmembers”;   第16行: ds.Tables [1] .TableName =“user_sign_up”;   第17行:   第18行:ds.Relations.Add(新的DataRelation(“stunion”,ds.Tables [“unionmembers”]。列[“stuid”]

     

这里是Stack Trace:

 [IndexOutOfRangeException: Cannot find table 1.]
     

System.Data.DataTableCollection.get_Item(Int32 index)+79      stunion_unionadmin.Page_Load(Object sender,EventArgs e)在g:\ new gradu project_2 \ Do7h Book 1 \ stunion \ unionadmin.aspx.cs:16      System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)+51      System.Web.UI.Control.OnLoad(EventArgs e)+92      System.Web.UI.Control.LoadRecursive()+54      System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+670

1 个答案:

答案 0 :(得分:0)

为了获得两个表结果,您需要传递两个db命令。像这样举例如:

CommandString = "SELECT foo0 FROM foo0; SELECT foo1 FROM foo1;";
sda = new SqlDataAdapter(CommandString, conn);
ds = new DataSet();
sda.Fill(ds);
dt = ds.Tables[0];
dt1 = ds.Tables[1];