将SQL查询添加到VB代码时出现编译错误
为什么每次我将SQL查询代码放入VB.NET时都会出现错误 这是我的密码:将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
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之后有一个内部联接?您不需要像那样将所有内容都放在括号中…您可以在表之间键入内部联接,并立即启用条件。。。。指定所有表之后