现在这是我的代码,它只是对最后提到的表进行数据绑定。
我有两张桌子"产品"和"电话",我想将它们都数据绑定到Listview1。
if (!IsPostBack)
{
ListView1.DataSource = this.GetDatatable2();
ListView1.DataSource = this.GetData();
ListView1.DataBind();
}
private DataSet GetData()
{
string conString = ConfigurationManager.ConnectionStrings["CARP"].ConnectionString;
string query = "SELECT * FROM Produtos WHERE Id= '" + Request.QueryString["Id"] + "'";
SqlCommand cmd = new SqlCommand(query);
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
sda.Fill(ds);
return ds;
}
}
}
}
private DataSet GetDatatable2()
{
string conString = ConfigurationManager.ConnectionStrings["CARP"].ConnectionString;
string query = "SELECT * FROM Phone WHERE Id= '" + Request.QueryString["Id"] + "'";
SqlCommand cmd = new SqlCommand(query);
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
sda.Fill(ds);
return ds;
}
}
}
}
答案 0 :(得分:1)
它仅绑定第二个表的原因是,您不添加表但将它们设置为数据源。
要添加内容,请使用运算符+=
代替=
。
但在这种情况下,这似乎不合适。我认为你应该首先合并两个表。通过数据绑定,ListView
将自动生成列。因此,您需要在两个表中使用相同的列标题。其他任何事情都没有意义。
您可以使用SQL UNION
并在一个查询中同时选择这两个表。