asp.net C#怎么实现对同一数据库的两个表的连接, 请给出类似下列语句的代码
stringi=Session["t"].ToString();SqlConnectionobjconn=newSqlConnection(ConfigurationSe...
string i = Session["t"].ToString();
SqlConnection objconn = new SqlConnection(ConfigurationSettings.AppSettings["connstr"]);
objconn.Open();
SqlDataAdapter da = new SqlDataAdapter("select QuestionID as '题号',QuestionType as '试题类型',Answer as '答案',Score as '分数' from " + i , objconn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
objconn.Close();
我想以本表中的QuestionID另一个表中的timu 列进行连接 展开
SqlConnection objconn = new SqlConnection(ConfigurationSettings.AppSettings["connstr"]);
objconn.Open();
SqlDataAdapter da = new SqlDataAdapter("select QuestionID as '题号',QuestionType as '试题类型',Answer as '答案',Score as '分数' from " + i , objconn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
objconn.Close();
我想以本表中的QuestionID另一个表中的timu 列进行连接 展开
展开全部
1. 首先,这两个表要有关系(比如主外);
2. 将有关系的键作为条件添加到where中;
如:
表t_message_info(c_id(primary key),c_name,c_type_id)
表t_message_type(t_id,t_name)
select * from t_message_info m,t_message_type t where m.c_type_id = t.t_id;
或者可以使用子查询:
select m.c_id, m.c_name, (select t.t_name from t_message_type t where t.t_id = m.c_type_id) from t_message_info m;
子查询的执行效率不高,推荐使用表连接
2. 将有关系的键作为条件添加到where中;
如:
表t_message_info(c_id(primary key),c_name,c_type_id)
表t_message_type(t_id,t_name)
select * from t_message_info m,t_message_type t where m.c_type_id = t.t_id;
或者可以使用子查询:
select m.c_id, m.c_name, (select t.t_name from t_message_type t where t.t_id = m.c_type_id) from t_message_info m;
子查询的执行效率不高,推荐使用表连接
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataTable dt1=new DataTable();
SqlDataAdapter sdr1=new SqlDataAdapter(".....");
sdr1.Fill(dt1);
DataTable dt2=new DataTable();
SqlDataAdapter sdr2=new SqlDataAdapter(".....");
sdr2.Fill(dt2);
我直接手写的代码,可能有误,思路就是这样,你想查询多少个表都行,只要保持数据的表达对象不同即可。
我看你代码后面要绑定GridView控件的数据源,这个没有影响的,
你可以再拖一个GridView2进来绑定一下dt2的数据,可以看到2个GridView显示的数据都是按照你sql查询出来的结果。
SqlDataAdapter sdr1=new SqlDataAdapter(".....");
sdr1.Fill(dt1);
DataTable dt2=new DataTable();
SqlDataAdapter sdr2=new SqlDataAdapter(".....");
sdr2.Fill(dt2);
我直接手写的代码,可能有误,思路就是这样,你想查询多少个表都行,只要保持数据的表达对象不同即可。
我看你代码后面要绑定GridView控件的数据源,这个没有影响的,
你可以再拖一个GridView2进来绑定一下dt2的数据,可以看到2个GridView显示的数据都是按照你sql查询出来的结果。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQL语句本身就能实现对两个表的查询
select A.*,B.* from A表 ,B表 where A.ID=B.ID
只需要一次交互就能取出需要的数据
select A.*,B.* from A表 ,B表 where A.ID=B.ID
只需要一次交互就能取出需要的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 sql语句中的 内连 外连 就可以解决了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询