我要更新的字段'vip'是Boolena数据类型的,
当我点更新按钮时出现下面错误,哪位高手可以帮我看看啊!!!语法错误 (操作符丢失) 在查询表达式 'False where编号=2' 中。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 语法错误 (操作符丢失) 在查询表达式 'False where编号=2' 中。源错误: 行 137:        conn.Open()
行 138:        Cmd.CommandText = strSQL
行 139:        Cmd.ExecuteNonQuery()
行 140:    End Sub
行 141:    Sub DataList_UpdateCommand(ByVal sender As Object, ByVal e As DataListCommandEventArgs)
 
源文件: D:\jxweb\huiyuan\vip.aspx.vb    行: 139 堆栈跟踪: [OleDbException (0x80040e14): 语法错误 (操作符丢失) 在查询表达式 'False where编号=2' 中。]
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) +41
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +174
   System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +92
   System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +65
   System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +112
   System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +66
   huiyuan.vip.ExecuteSQL(String strSQL) in D:\jxweb\huiyuan\vip.aspx.vb:139
   huiyuan.vip.DataList_UpdateCommand(Object sender, DataListCommandEventArgs e) in D:\jxweb\huiyuan\vip.aspx.vb:144
   System.Web.UI.WebControls.DataList.OnUpdateCommand(DataListCommandEventArgs e) +109
   System.Web.UI.WebControls.DataList.OnBubbleEvent(Object source, EventArgs e) +294
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
   System.Web.UI.WebControls.DataListItem.OnBubbleEvent(Object source, EventArgs e) +100
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
   System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +120
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +115
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +138
   System.Web.UI.Page.ProcessRequestMain() +1277 

解决方案 »

  1.   

    Sub DataList_DeleteCommand(ByVal sender As Object, ByVal e As DataListCommandEventArgs)
            Dim strSQL As String = "Delete From biao2 where" & DataList1.DataKeyField & "=" & DataList1.DataKeys(e.Item.ItemIndex)
            ExecuteSQL(strSQL)
            DataList1.EditItemIndex = -1
            BindList()
        End Sub异常详细信息: System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。上面的删除代码有错吗,哪位高手帮我看看啊!!!
      

  2.   

    Sub DataList_UpdateCommand(ByVal sender As Object, ByVal e As DataListCommandEventArgs)        Dim vip As String = CType(e.Item.FindControl("VIP"), TextBox).Text
            Dim strSQL As String = "Update biao2 set VIP=" & vip & " where " & DataList1.DataKeyField & "=" & DataList1.DataKeys(e.Item.ItemIndex)
            ExecuteSQL(strSQL)
            DataList1.EditItemIndex = -1
            BindList()
    异常详细信息: System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。
      

  3.   

    Dim strSQL As String = "Update biao2 set VIP=" & vip & " where " & DataList1.DataKeyField & "=" & DataList1.DataKeys(e.Item.ItemIndex)这句Sql文有问题。DataKeys获取 DataKeyCollection,它存储数据列表控件中每个记录的键值(显示为一行)。