我正在编写一个与SQL Server数据库通信的C#Windows窗体应用程序。有两个感兴趣的表格Submission
和Producer
。在Submission表适配器上,我有一个执行以下T-SQL块的查询:
SELECT S.name, S.effDate, S.dotNumber, P.name
FROM dbo.Submission S, dbo.Producer P
WHERE S.submissionId = @submissionId and S.producerId = P.producerId;
当我使用SubmissionTableAdapter运行此查询时,它会返回前三个值,但P.name
没有。实际上,除了Submission之外,它不会从任何其他表返回任何值。我已经在SQL Server Management Studio中直接测试了查询,它工作正常,因此数据存在且查询有效。这是怎么回事?
答案 0 :(得分:0)
我不是一个真正的SQL连接专家,但尝试从Producer表返回值的提交表适配器不会导致一些问题吗?为什么不加入声明?
SELECT
S.Name, S.effDate, S.dotNumber, P.Name
FROM
dbo.Submission s
JOIN
dbo.Producer P on P.producerID = S.ProducerID
WHERE
S.submissionId = @submissionId
答案 1 :(得分:0)
我通过选择Submission
中的每个字段,然后选择我想要的其他表格字段来实现此目的。例如:
SELECT S.submissionId, S.name, ..., P.name
FROM dbo.Submission S, dbo.Producer P
其中...
代表Submission
表格中的其余字段。
这非常令人烦恼和浪费,但至少它是有效的。