0

我是 C# 新手,我对如何使用单个 sql 字符串从多个表(实际上是 3 个表)中检索数据一无所知。

基本上有2个主文件:

  • Task_Information、Emp_Information

和 1 个交易文件:

  • 作业:这个由 2 个主文件的主键和其他一些字段更新。

没关系。但是现在我需要运行一个命令,该命令将根据用户输入的搜索参数从所有 3 个表中检索数据,并在所有表中显示选定的字段。在 ms 访问中,我所要做的就是进行查询 - 这是生成的 sql:

SELECT Assignments.Task_No, Assignments.Assignment_No, Assignments.Assignment_Date,
       Task_Information.Client_Name, Emp_Information.F_Name, Emp_Information.L_Name
  FROM Emp_Information 
       INNER JOIN (Task_Information 
                   INNER JOIN Assignments ON Task_Information.Task_No = Assignments.Task_No) 
             ON Emp_Information.Emp_ID = Assignments.Assignee
  WHERE (((Assignments.Assignment_Date)="this is just some date the user has to enter..."))

简而言之,我需要了解如何在用户键入搜索参数并单击按钮的 C# 程序中使用相同的 sql-string。顺便说一句,必须使用 oledbdatareader/adapter 来完成;

4

2 回答 2

0

试试这个查询:

 SELECT Assignments.Task_No, Assignments.Assignment_No, Assignments.Assignment_Date,
 Task_Information.Client_Name, Emp_Information.F_Name, Emp_Information.L_Name
  FROM Emp_Information 
  INNER JOIN Task_Information 
  ON Task_Information.Task_No = Assignments.Task_No 
  INNER JOIN Assignments 
  ON Emp_Information.Emp_ID = Assignments.Assignee
  WHERE (((Assignments.Assignment_Date) like "%this is just some date the user has to enter...%"))
于 2012-08-06T12:11:37.377 回答
0

如果您要使用 SQL Server,您可以使用SqlCommand. "this is..."有了这个,你可以用参数 placeholder替换你的字符串@date,然后可以像MSDN 上显示的那样设置它。

这里的主要问题是使用OleDbDataReaderand 如果它支持这种查询。但是在阅读了 MSDN 之后OleDbCommand.Parameters它应该可以工作。

于 2012-08-06T12:11:45.250 回答