我从vb.net softwware中的子句中遇到语法错误,任何人都可以帮助我吗????
Private Sub txtSearchByDish_TextChanged(sender As Object, e As EventArgs) Handles txtSearchByDish.TextChanged
Try
con = New OleDbConnection(cs)
con.Open()
cmd = New OleDbCommand("SELECT DishName, I.Rate, SUM([Qty]) as ItemQuantity, BillDate, ( I.Rate * SUM([Qty])) As TotalAmount FROM Dish as I, RestaurantBillingInfo as P, RestaurantBillingItems as PD, WHERE DishName like '" & txtSearchByDish.Text & "%' order by DishName", con)
rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
dgw.Rows.Clear()
While (rdr.Read() = True)
dgw.Rows.Add(rdr(0), rdr(1), rdr(2), rdr(3), rdr(4))
End While
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
您不能用逗号结束FROM
子句。
更改RestaurantBillingItems as PD, WHERE
到RestaurantBillingItems as PD WHERE
请注意,您的程序是您的程序很容易受到SQL注入
还要注意您使用的是聚集体,并且不是由BillDate
,DishName
和I.Rate
分组,并且不是聚合。您可能想为它们使用聚合,或者由它们组成,例如GROUP BY BillDate, DishName, I.Rate