TableAdapter查询返回空值

时间:2014-09-03 15:11:43

标签: c# .net visual-studio-2013

我正在编写一个与SQL Server数据库通信的C#Windows窗体应用程序。有两个感兴趣的表格SubmissionProducer。在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中直接测试了查询,它工作正常,因此数据存在且查询有效。这是怎么回事?

2 个答案:

答案 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表格中的其余字段。

这非常令人烦恼和浪费,但至少它是有效的。