我试图做一个内连接选择语句,我从表中选择两个字段,而不是第二个表中与第一个表具有相同id的字段的所有记录.
代码如下:
Dim conn As OleDbConnection
Dim cmd As OleDbCommand
Public Sub openDB()
rsConn = New ADODB.Connection
rsConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\VFMS_DB.mdb;" & "Jet OLEDB:System Database=Security.mdw", "ADMIN", "1234")
End Sub
Public Function GetProdDetails(ByVal vegeID As Integer, ByRef dsTask As DataSet) As Integer
Dim retCode As New Integer
Dim da As OleDbDataAdapter
Try
Dim i As Integer = 0
openDB2()
da = New OleDbDataAdapter("SELECT [Vegetables Descriptions.Task], [Vegetables Descriptions.Description], [TasksOcc.When] FROM [Vegetables Descriptions] INNER JOIN [TasksOcc] ON [Vegetables Descriptions.DescID] = [TasksOcc.DescID] WHERE [Vegetables Descriptions.VegeID] = vegeID", conn)
da.Fill(dsTask)
retCode = 0
conn.Close()
Return retCode
Catch ex As Exception
MessageBox.Show(ex.ToString, ex.Message, MessageBoxButtons.OK)
retCode = 1
Return retCode
End Try
End Function
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:"无效的名称包围[Vegetables Descriptions.DescID]
如果我把它拿出来看起来如下我得到一个"加入表达式不支持"
da = New OleDbDataAdapter("SELECT [Vegetables Descriptions.Task], [Vegetables Descriptions.Description], [TasksOcc.When] FROM [Vegetables Descriptions] INNER JOIN [TasksOcc] ON [DescID] = [DescID] WHERE [Vegetables Descriptions.VegeID] = vegeID", conn)
Run Code Online (Sandbox Code Playgroud)
我尝试从网上下载示例,但不成功.
用[Vegetables Descriptions].[DescID]而不是[Vegetables Descriptions.DescID].由于"蔬菜描述"包含空格,因此它必须是其中唯一的名称[].
| 归档时间: |
|
| 查看次数: |
3705 次 |
| 最近记录: |