你的语句有点问题,应该采用连接的方式来实现你要的结果。类似这么写。String sqlstr="Select B.titlecn As 题目,C.statues as 状态 from A Inner Join B On A. articleid=B.id Inner Join C On A.Sarticlestatus=C.statuesid Where A.StuLoginName like '"+Loginnametemp+"'"但是,因为我不知道你几个表之间的关系,所以采用的是完全连接,如果有问题,你写出A表与另外两个表的关系,我帮你改写。
string sqlstr1 ="SELECT titlecn as 题目 into #emp_temp from B where id=(select articleid from A where StuLoginName like '"+Loginnametemp+"')";string sqlstr2="SELECT statues as 状态 from C where statuesid=(select Sarticlestatus from A where StuLoginName like '"+Loginnametemp+"')";
string sqlstr=sqlstr1+" UNION "+sqlstr2+" select * from #emp_temp"; SqlDataAdapter adAdapter = new SqlDataAdapter(); adAdapter.SelectCommand=new SqlCommand(sqlstr,MyConn); DataSet drDataSet=new DataSet(); adAdapter.Fill(drDataSet); myGrid.DataSource = drDataSet.Tables[0].DefaultView; myGrid.DataBind(); myGrid.Visible = true;;
string sqlstr=sqlstr1+" UNION "+sqlstr2+" select * from #emp_temp"; SqlDataAdapter adAdapter = new SqlDataAdapter();
adAdapter.SelectCommand=new SqlCommand(sqlstr,MyConn);
DataSet drDataSet=new DataSet();
adAdapter.Fill(drDataSet);
myGrid.DataSource = drDataSet.Tables[0].DefaultView;
myGrid.DataBind();
myGrid.Visible = true;;
即便是用union 那也得保证 选择出来的字段是一致的,不能是两个 如楼主的: 题目,状态