2015-09-14 3 views
2

Я получаю следующее сообщение об ошибке:Как: Перерыв и объединение Заявление в Кодексе vb.net

Syntax error (missing operator) in query expression 'tblUnit.Unit_DescFROM tblUnit INNER JOIN tblStocks ON tblUnit.[Unit_Control] = tblStocks.[Stk_LinkUnit]'. andthis one Syntax error in FROM clause. 

Части коды, неисправная:

Public Class Form1 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim connetionString As String 
    Dim connection As OleDb.OleDbConnection 
    Dim oledbAdapter As New OleDb.OleDbDataAdapter 
    Dim ds As New DataSet 
    Dim i As Integer 
    Dim sql As String 
    connetionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbInventor.mdb" 
    connection = New OleDb.OleDbConnection(connetionString) 

    connection.Open() 
    sql = "SELECT tblStocks.Stk_LinkUnit, tblUnit.Unit_Desc" _ 
     & "FROM tblUnit INNER JOIN tblStocks ON tblUnit.[Unit_Control] = tblStocks.[Stk_LinkUnit];" 

    oledbAdapter.SelectCommand = New OleDb.OleDbCommand(sql, connection) 
    oledbAdapter.Fill(ds) 
     oledbAdapter.Dispose() 
     connection.Close() 
     For i = 0 To ds.Tables(0).Rows.Count - 1 
     MsgBox(ds.Tables(0).Rows(i).Item(1)) 
     Next 
End Sub 

End Class 
+0

подогреть ты имеешь в виду 'сломать мой код '?? – Maraboc

+1

измените этот «SELECT tblStocks.Stk_LinkUnit, tblUnit.Unit_Desc» на этот «SELECT tblStocks.Stk_LinkUnit, tblUnit.Unit_Desc» /// пробел до FROM – InferOn

+0

вам потребуется пробел после «Unit_Desc» – ElenaDBA

ответ

2

Вы должны добавить пробел перед FROM как это:

sql = "SELECT tblStocks.Stk_LinkUnit, tblUnit.Unit_Desc" _ 
    & " FROM tblUnit INNER JOIN tblStocks ON tblUnit.[Unit_Control] = tblStocks.[Stk_LinkUnit];" 
2
sql = "SELECT tblStocks.Stk_LinkUnit, tblUnit.Unit_Desc " _ 
    & "FROM tblUnit INNER JOIN tblStocks ON tblUnit.[Unit_Control] = tblStocks.[Stk_LinkUnit];" 

или

sql = "SELECT tblStocks.Stk_LinkUnit, tblUnit.Unit_Desc" _ 
    & " FROM tblUnit INNER JOIN tblStocks ON tblUnit.[Unit_Control] = tblStocks.[Stk_LinkUnit];" 
0

Вы можете также использовать XML-литерала для форматирования длинные или сложные SQL, как вам нравится:

Dim sql = <sql> 
     SELECT tblStocks.Stk_LinkUnit, tblUnit.Unit_Desc 
     FROM tblUnit INNER JOIN tblStocks ON 
         tblUnit.[Unit_Control] = tblStocks.[Stk_LinkUnit] 
     WHERE [email protected] 
      AND [email protected] 
     </sql>.Value 

Console.WriteLine(sql) 

Обязательно включать .Value

Смежные вопросы