我有两个表,table1
和table2
。我想从column1
和table1
column1
检索table2
。然后组合这两个结果并在网格视图中显示为单独的列。这是我的代码:
string query4 = "select tablename from table1 where tid='1'";
MySqlCommand command4 = new MySqlCommand(query4, connection);
DataSet ds = new DataSet();
adapter.SelectCommand = command4;
adapter.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
string query5 = "select fname from table2 where id='1'";
MysqlCommand command5 = new MySqlCommand(query5, connection);
DataSet ds2 = new DataSet();
adapter.SelectCommand = command5;
adapter.fill(ds2);
Gridview1.DataSource = ds;
这只给我table1
值,但我希望在单个网格视图中显示来自table1
和table2
的两列。
答案 0 :(得分:1)
在MSDN上快速搜索会显示以下文章http://msdn.microsoft.com/en-gb/library/803bh6bc.aspx
使用DataSet.Merge()
方法。
答案 1 :(得分:0)
http://dev.mysql.com/doc/refman/5.0/en/join.html INNER JOIN是你的朋友,
SELECT
table1.tablename,
table2.fname
FROM table1
INNER JOIN table2
ON table2.id = table1.tid
WHERE table1.id = 1
这将在一个查询中获取所有数据
答案 2 :(得分:0)
你可以用两种方法做到这一点。第一个来自MySQL查询:
string query6 = "select tablename AS value from table1 where tid='1' UNION select fname from table2 as value where id='1'";
或使用DataSets
DataSet
合并到一个DataSet.Merge();
中