关键字“AND”附近的语法不正确。为什么? [英] Incorrect syntax near the keyword 'AND'. why?

查看:92
本文介绍了关键字“AND”附近的语法不正确。为什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码就是这样,但不知道显示错误

My Code is that but in dont know display that error

Dim SampleOrder As String = Nothing
        Dim Requester As String = Nothing
        Dim ProjectNumber As String = Nothing
        Dim CostCenter As String = Nothing
        Dim PersonInvoiced As String = Nothing
        Dim SelectQuery As String = "SELECT [OrderID], [DVMOrderNumber], [Requester], [ProjectNumber], [CostCenter], [CostResponsable], [CostCategory], [TotalSamples], [OrderDescription], [FinalCustomerAddress], [TargetDate], [AssemblyPlannedDate], [LogisticsResponsable], [ShippingMode], [ShippingAddress], [Urgent], [HasBOM], [HazardousMaterial], [ExpressShipment], [HasSerialComponents], [PrototypeComponents], [OrderType] FROM [Orders_Header]"
        Dim WhereQuery As String = Nothing

        Requester = BOX_Requester1.Text
        Requester = Find.Find2(Requester)

        If Requester <> Nothing Then
            WhereQuery = WhereQuery & " AND Requester LIKE '" & Requester & "'"
        End If

  

        Dim myQuery As String = SelectQuery & WhereQuery
        SqlDataSource2.SelectCommand = myQuery
        GridView1.DataSourceID = "SqlDataSource2"
        GridView1.DataBind()

        If GridView1.Rows.Count = 0 Then
            LBL_Error.Visible = True
            LBL_Error.Text = "I have not found any results by your search!"
            LBL_Status.Text = String.Empty
        Else
            LBL_Status.Visible = True
            LBL_Status.Text = "Dates have been loaded! Found " + Convert.ToString(GridView1.Rows.Count) + " rows."
            LBL_Error.Text = String.Empty
        End If

推荐答案

WhereQuery 最初为 Nothing 。在查询中附加条件时,首先需要 WHERE 。在这里,你使用AND

1)没有 WHERE

2)没有任何其他的过滤器在查询



这可能会解决您的问题

WhereQuery is Nothing initially. When you append a condition to the query you need a WHERE first. Here, you are using an AND
1) without a WHERE
2) without any other where filter in the query

This might solve your problem
If Requester <> Nothing Then
 IF WhereQuery <> Nothing Then
    WhereQuery = WhereQuery & " AND Requester LIKE '" & Requester & "'"
 Else
    WhereQuery = " WHERE Requester LIKE '" & Requester & "'"
 End If
End If


更改此行

Change this line
Dim WhereQuery As String = Nothing



to


to

Dim WhereQuery As String = " WHERE 1=1"





希望有所帮助:)



Hope it helps :)


这篇关于关键字“AND”附近的语法不正确。为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆