VB.NET中OLEDB调用Access的Query2无数据,直接查询有数据的问题
OLEDB访问Access时Query2视图无数据,Access内正常显示
在VB.NET中通过OLEDB访问MS Access数据库时,调用Query2视图后DataGridView无数据显示,但直接在Access中打开该视图能正常看到记录;调用Query1和Query3时DataGridView可正常显示数据,怀疑Query2的SQL存在OLEDB兼容问题。
Query2的SQL代码(Access中)
SELECT EmpID, [Name], TotalCPI, RangeSalary FROM Query1 AS E INNER JOIN (SELECT Left(RangeCPI,3) AS Start, Mid(RangeCPI,5,3) + 1 AS [End], RangeSalary FROM tblPayrollDecision) AS PD ON (E.TotalCPI < PD.End) AND (E.TotalCPI >= PD.Start);
VB.NET相关代码
Public Sub filltable(ByVal dtgrd As Object, ByVal design As String) Dim publictable As New DataTable Try da.SelectCommand = cmd da.Fill(publictable) dtgrd.DataSource = publictable Select Case design Case "EmpInfo" dtgrd.Columns(0).Visible = False End Select da.Dispose() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information) End Try End Sub Public Sub jokenselect(ByVal sql As String) Try con.Open() With cmd .Connection = con .CommandText = sql End With Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation) End Try con.Close() da.Dispose() End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load jokenselect("Select * From Query2") filltable(DataGridView1, "EmpPic") End Sub
结果展示



内容的提问来源于stack exchange,提问作者roy
相关产品推荐
相关产品推荐

