Oledbconnection执行commad查询错误vb.net

时间:2013-03-11 11:22:19

标签: sql vb.net ms-access ms-access-2010

我正在使用VS2012 wpf应用程序vb.net MS Access 2010.我想通过oledbconnection执行查询并返回错误,但是当我通过MS Access 2010执行相同的查询时,它返回表没有任何问题。有什么问题?

查询:

SELECT Agents.[PF], Agents.[User_ID], Agents.[First_Name], Agents.[Second_Name], Agents.[Third_Name], Agents.[Family_Name], Agents.[Gender], Agents.[Contract_Type], Agents.Area, Teams.Team_Name, Agents.Hiring_Date, Resignation_Pool.Resignation_Date, Resignation_Pool.Effective_Date, Replace(IIf(Skills.Skill_Directory Is Null,'','Directory, ')+IIf(Skills.Skill_TRC Is Null,'','TRC, ')+IIf(Skills.Skill_Prepaid Is Null,'','Prepaid, ')+IIf(Skills.Skill_Postpaid Is Null,'','Postpaid, ')+IIf(Skills.Skill_KeyAccount Is Null,'','KeyAccount, ')+IIf(Skills.Skill_Blackberry Is Null,'','Blackberry, ')+IIf(Skills.Skill_Broadband Is Null,'','Broadband, ')+IIf(Skills.Skill_Concierge Is Null,'','Concierge, ')+IIf(Skills.Skill_ISP Is Null,'','ISP, ')+IIf(Skills.Skill_Mada Is Null,'','Mada, ')+IIf(Skills.Skill_CSCS Is Null,'','CSCS, ')+'$',', $','') AS Skills FROM ((Agents INNER JOIN Resignation_Pool ON Agents.PF = Resignation_Pool.PF) LEFT JOIN Teams ON Agents.Team =  Teams.ID) LEFT JOIN Skills ON Agents.PF = Skills.PF WHERE Agents.Contract_Status = 'Active'

错误:

  

Fill:SelectCommand.Connection属性尚未初始化。

代码:

            Dim SQL10 As New OleDb.OleDbCommand("SELECT Agents.[PF], Agents.[User_ID], Agents.[First_Name], Agents.[Second_Name], Agents.[Third_Name], Agents.[Family_Name], Agents.[Gender], Agents.[Contract_Type], Agents.Area, Teams.Team_Name, Agents.Hiring_Date, Resignation_Pool.Resignation_Date, Resignation_Pool.Effective_Date, " & Sql & " FROM ((Agents INNER JOIN Resignation_Pool ON Agents.PF = Resignation_Pool.PF) LEFT JOIN Teams ON Agents.Team =  Teams.ID) LEFT JOIN Skills ON Agents.PF = Skills.PF WHERE Agents.Contract_Status = 'Active'")
            Dim DataAdapter10 As New OleDb.OleDbDataAdapter(SQL10)
            Dim DataTable10 As New DataTable()
            DataAdapter10.Fill(DataTable10)

1 个答案:

答案 0 :(得分:0)

错误消息显示您的OleDbDataAdapter没有与有效连接关联的SelectCommand。因此,您应该尝试更改类似的代码

  Using OleDbConnection connection = new OleDbConnection("your_connection_string")
      connection.Open
      Dim SQL10 As New OleDb.OleDbCommand("......", connection) ' add this to the OleDbCommand'
      Dim DataAdapter10 As New OleDb.OleDbDataAdapter(SQL10)
      Dim DataTable10 As New DataTable()
      DataAdapter10.Fill(DataTable10)
  End Using