1

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)
select *、username、id from unionmembers、user_sign_up where stuid=stu_idとこのエラーが表示されます!
テーブル 1 が見つかりません
。14 行目: 15 行目: ds.Tables[0].TableName = "unionmembers"; 16 行目: ds.Tables[1].TableName = "user_sign_up"; 17 行目: 18 行目: ds.Relations.Add(new DataRelation("stunion", ds.Tables["unionmembers"].Columns["stuid"]

スタック トレースは次のとおりです。

 [IndexOutOfRangeException: Cannot find table 1.]

System.Data.DataTableCollection.get_Item(Int32 index) +79 stunion_unionadmin.Page_Load(Object sender, EventArgs e) in g:\New Graduation project_2\Do7h Book 1\stunion\unionadmin.aspx.cs:16 System.Web.Util. CalliEventHandlerDelegateProxy.Callback(オブジェクト送信者、EventArgs e) +51 System.Web.UI.Control.OnLoad(EventArgs e) +92 System.Web.UI.Control.LoadRecursive() +54 System.Web.UI.Page.ProcessRequestMain(ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) +670

4

1 に答える 1

0

2 つのテーブル結果を取得するには、2 つの 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];
于 2013-06-17T08:20:01.027 に答える