SQL内部联接语句出错

时间:2014-01-31 16:10:33

标签: sql vb.net ms-access inner-join oledbcommand

我在Microsoft Access中有两个保存的查询,名为Current_RatioQuarterly_Growth_Rates。这两个保存的查询共享相同的Primary Key。但它们可能并非都包含相同的数据。如何使用和Inner Join语句并排显示这些已保存查询的数据?

以下是代码:

con.Open()
Dim cmd3 As OleDbCommand = New OleDbCommand("SELECT * FROM Current_Ratio AS C INNER JOIN Quarterly_Growth_Rates AS G ON (C.Ticker = G.Ticker) AND ((IIF(C.Period = 4, C.Year + 1, C.Year)) = G.Year) AND ((IIF(C.Period = 4, 1, C.Period + 1)) = G.Qtr)", con)
Dim reader As OleDbDataReader = cmd3.ExecuteReader()
Dim da As New DataTable
da.Load(reader)
DataGridViewCalculations.DataSource = da
reader.Close()
con.Close()

我在da.Load(reader)说错误:

  

提供商无法确定Double值。例如,刚刚创建了行,Double列的默认值不可用,并且消费者尚未设置新的Double值。

其他信息:

我已经使用大约15种股票的简短数据集成功运行了一段时间。我只是将数据量扩大到大约6,000只股票,现在我遇到了这个问题。

问题在于Current_Ratio查询。如果我运行SELECT * FROM Current_Ratio,我会收到错误消息。但是,如果我运行SELECT * FROM Quarterly_Growth_Rates

,则不行

0 个答案:

没有答案