将SQL查询添加到VB代码时出现编译错误

将SQL查询添加到VB代码时出现编译错误,sql,vb.net,Sql,Vb.net,为什么每次我将SQL查询代码放入VB.NET时都会出现错误 这是我的密码: Imports System.Data.OleDb Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Call connect

为什么每次我将SQL查询代码放入VB.NET时都会出现错误

这是我的密码:

Imports System.Data.OleDb
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles                                                                   MyBase.Load
        Call connection()
        Dim ds As New DataSet
        Dim dt As New DataTable
        Dim da As New OleDbDataAdapter
        ds.Tables.Add(dt)
        da = New OleDbDataAdapter("SELECT T_Order.Order_ID, T_Order.Customer_ID, T_Customer.Fname, T_Customer.Mname, T_Customer.Lname, T_Order.Employee_id, T_Employee.Employee_name
        FROM ( INNER JOIN ((T_Employee INNER JOIN (T_Customer INNER JOIN T_Order ON     T_Customer.Customer_ID = T_Order.Customer_ID) ON T_Employee.Employee_ID = T_Order.Employee_id) INNER JOIN T_OrderDetail ON T_Order.Order_ID = T_OrderDetail.Order_ID) ON T_Product.Product_Code = T_OrderDetail.Product_Code", cn)
        da.Fill(dt)
        DataGridView1.DataSource = dt.DefaultView
以下是错误输出:


您应该将这些错误从2行改为1行,如下所示

da = New OleDbDataAdapter("SELECT T_Order.Order_ID, T_Order.Customer_ID, T_Customer.Fname, T_Customer.Mname, T_Customer.Lname, T_Order.Employee_id, T_Employee.Employee_name FROM ( INNER JOIN ((T_Employee INNER JOIN (T_Customer INNER JOIN T_Order ON     T_Customer.Customer_ID = T_Order.Customer_ID) ON T_Employee.Employee_ID = T_Order.Employee_id) INNER JOIN T_OrderDetail ON T_Order.Order_ID = T_OrderDetail.Order_ID) ON T_Product.Product_Code = T_OrderDetail.Product_Code", cn)
在VB中不能像C一样指定多行字符串。 如果你在VB中需要多行字符串,你应该这样做

str = "string1" & _ 
      "string2" & _
      "string3"
因此,您的代码如下所示

da = New OleDbDataAdapter("SELECT T_Order.Order_ID, T_Order.Customer_ID, T_Customer.Fname, T_Customer.Mname, T_Customer.Lname, T_Order.Employee_id, T_Employee.Employee_name" & _
"FROM ( INNER JOIN ((T_Employee INNER JOIN (T_Customer INNER JOIN T_Order ON     T_Customer.Customer_ID = T_Order.Customer_ID) ON T_Employee.Employee_ID = T_Order.Employee_id) INNER JOIN T_OrderDetail ON T_Order.Order_ID = T_OrderDetail.Order_ID) ON T_Product.Product_Code = T_OrderDetail.Product_Code", cn)

检查您的查询…为什么在from之后有一个内部联接?您不需要像那样将所有内容都放在括号中…您可以在表之间键入内部联接,并立即启用条件。。。。指定所有表之后