【问题标题】:how to add second table and get data from both tables in dataset in c#如何在c#中添加第二个表并从数据集中的两个表中获取数据
【发布时间】:2016-03-12 02:14:03
【问题描述】:

我正在通过 c# 从数据库中获取数据到数据集中的 asp.net 文件中。 我的c#代码是这样的:

{
Datalist a = e.Item.FindControl("abc") as DataList;
a.DataSource = GetData("select * from xyz where ID='" +((System.Data.DataRowView)(e.Item.DataItem)).Row[0] + "' AND LIMIT 1");

a.DataBind();
}

它工作正常.. 但我想向它添加另一个表.. 意味着我想从两个数据库表中获取数据..

我知道如何使用 ExecuteReader() 和 Mysql 命令来做到这一点.. 但我对这个数据源一无所知.. 我是 asp 和 c# 的新手,所以请.. 任何帮助.. 非常感谢

这里是函数GetData()

private DataTable GetData(string query)
    {
        DataTable dt = new DataTable();
        string constr = ConfigurationManager.ConnectionStrings["SpeedyFlower"].ConnectionString;
        using (MySqlConnection con = new MySqlConnection(constr))
        {
            using (MySqlCommand cmd = new MySqlCommand(query))
            {
                using (MySqlDataAdapter sda = new MySqlDataAdapter())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.Connection = con;
                    sda.SelectCommand = cmd;
                    sda.Fill(dt);
                }
            }
            return dt;
        }
    }

【问题讨论】:

    标签: c# asp.net web dataset


    【解决方案1】:

    检查这是否适合您:

    SqlDataAdapter adapter = new SqlDataAdapter(
          "SELECT * FROM employee1; SELECT * FROM employee2", connection);
    adapter.TableMappings.Add("Table", "employee1");
    adapter.TableMappings.Add("Table1", "employee2");
    adapter.Fill(ds);
    

    现在您在数据集 ds 中有 2 个表:

    ds.Tables[0] //table employee1
    ds.Tables[1] //table employee2
    

    将此代码放在 GetData 函数下(您正在调用 MySQLDataAdapter)。在查询中只需传递两个表的查询。请注意,TableMapping 是可选的,不是强制性的。

    【讨论】:

    • 嗨,非常感谢您的回答.. 但我知道如何使用适配器和阅读器来做到这一点.. 但我不知道这个 DataSource 和 GetData() 是什么.. 我可以用你的吗回答并用您的回答替换这些内容?
    • @nikunjramchandani:我什至想知道 GetData() 做了什么,但是是的,您可以用答案替换现有行,然后将 datalist 的数据源设置为 ds。
    • 我真的很抱歉.. 但我发现 Getdata 是一个函数,它的传输查询到该函数..
    • 请提供Getdata的sn-p
    • 我正在添加你的代码..你能告诉我你需要在任何地方使用这个“Table”和“Table1”吗??
    猜你喜欢
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2013-04-27
    相关资源
    最近更新 更多