2
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

在此表中,我需要添加学院名称..它应该从其他表中获取..

4

4 回答 4

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 ;
于 2013-09-11T06:22:00.830 回答
1

您可以将Memberhip_det表与另一个表连接以检索 Faculty_name。但是这两个表应该有一个共同的连接字段或主键和外键。

也尝试使用存储过程而不是内联查询

于 2013-09-11T06:30:07.783 回答
0

尝试为您的两个 sql select 语句使用 union

UNION UNION 命令用于从两个表中选择相关信息,很像 JOIN 命令。但是,当使用 UNION 命令时,所有选定的列都需要具有相同的数据类型。使用 UNION,只选择不同的值。

于 2013-09-11T06:19:48.787 回答
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 ;
于 2013-09-14T06:14:35.380 回答