如何使用单个SQL字符串从C#中的多个表创建数据集?
我是C#新手,对于如何使用单个sql字符串从多个表(实际上是其中的3个表)检索数据,我有点不知所措 基本上有两个主文件:如何使用单个SQL字符串从C#中的多个表创建数据集?,c#,sql,oledb,oledbdataadapter,oledbdatareader,C#,Sql,Oledb,Oledbdataadapter,Oledbdatareader,我是C#新手,对于如何使用单个sql字符串从多个表(实际上是其中的3个表)检索数据,我有点不知所措 基本上有两个主文件: 任务信息、Emp信息 和1个事务文件: 分配:这一个由2个主文件的主键和一些其他字段更新 没关系。但现在我需要运行一个命令,根据用户输入的搜索参数从所有3个表中检索数据,并在所有表中显示所选字段。在ms access中,我所要做的就是进行查询-以下是生成的sql: SELECT Assignments.Task_No, Assignments.Assignment_N
- 任务信息、Emp信息
- 分配:这一个由2个主文件的主键和一些其他字段更新
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字符串,在C#程序中,用户键入搜索参数并单击按钮。顺便说一句,它必须使用OLEDB数据读取器/适配器来完成 尝试此查询:
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...%"))
如果要使用SQL Server,可以使用。使用此选项,您可以将字符串
“this is…”
替换为参数占位符@date
,然后将其设置为
这里的主要问题是的用法,以及它是否支持这种查询。但是在阅读了MSDN之后,它应该可以工作。您现在正在使用SQL server吗?还是MS Access?我用的是MS Access。我通过oledb连接将它连接到我的C#应用程序,我想运行一个查询,从3个相关表中检索字段。我使用了OLEDB数据阅读器,不得不做一些调整。现在很好用。除了我仍然不知道如何显示所有匹配的记录-ryt现在我只能检索一行并在文本框中显示它们..谢谢你的回复!我将阅读更多关于oledbcommand.parameters的内容。再次感谢!我不知道这有什么不同。。你能再解释一下吗。。?非常感谢。如果您在连接查询中出错,请将我的give sql查询和您的sql查询进行比较,您可以发现它们之间的区别。你是在错误的地方使用条件。如果你仍然没有得到任何想法告诉我@用户1420202