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:\新毕业项目_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

4

1 回答 1

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];
于 2013-06-17T08:20:01.027 回答