DateTime startDate = DateTime.ParseExact(txtstart.Text, "MM/dd/yyyy", null);
DateTime endDate = DateTime.ParseExact(txtend.Text, "MM/dd/yyyy", null);
string n1 = DropDownList2.SelectedItem.Text;
if (DropDownList1.SelectedItem.Text == "Membership")// here you can add selectedindex as well
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ProjectConnectionString"].ToString());
con.Open();
SqlDataAdapter adapter = new SqlDataAdapter("select * from Membership_det where updateDate between @Start and @End and FID ="+n1+"", con);
adapter.SelectCommand.Parameters.Add("@Start", SqlDbType.Date).Value = startDate;
adapter.SelectCommand.Parameters.Add("@End", SqlDbType.Date).Value = endDate;
}
...... .. ...... .. 上面是在网格视图中显示数据的代码的一部分。我正在显示来自Membership_det的*,还需要显示来自其他表的教员姓名...如何使用上述查询添加查询...显示*来自成员资格_det表和其他表中的教员姓名
FID MembNo MembType Validity Remarks UpdateDate
100 23 basn 6 dgag 9/5/2013 12:00:00 AM
200 566 basn 6 adhu 9/6/2013 12:00:00 AM
在此表中,我需要添加Faculty名称..应该从其他表中获取..
答案 0 :(得分:1)
您可以按如下方式加入表格。根据您的表更改关系和列名称。如果你也可以使用FID参数
,那就更好了SELECT m.*, f.Name
FROM Membership_det m
INNER JOIN faculty f
ON m.FID = f.FID
WHERE m.updateDate between @Start and @End and m.FID =@FID ;
答案 1 :(得分:1)
您可以将Memberhip_det
表与其他表联系以检索faculty_name。但是这两个表应该有一个共同的连接字段或主键和外键。
还尝试使用存储过程而不是内联查询
答案 2 :(得分:0)
尝试将union用于两个sql select语句
<强> UNION 强> UNION命令用于从两个表中选择相关信息,非常类似于JOIN命令。但是,使用UNION命令时,所有选定的列都必须具有相同的数据类型。使用UNION时,只选择不同的值。
答案 3 :(得分:0)
将外键关系发送到教师表上的FID列,并按如下所示更改您的查询
select Membership_det.MembNo, Membership_det.MembType,Membership_det.Validity,Membership_det.Remarks,Membership_det.UpdateDate,faculty.facultyname FROM Membership_det INNER JOIN faculty ON Membership_det.FID = faculty.FID
WHERE Membership_det.updateDate between @Start and @End and Membership_det.FID =@FID ;