[Microsoft][ODBC SQL server Driver][SQL server] line1: Incorrect syntax near '-'我不明白它说的是什么意思!

解决方案 »

  1.   

    txtSQL = "delete from psi.dbo.product where [item-no]='" & txt & "'"
       Set mrce = ExecuteSQL(txtSQL, msgtext)
       txtSQL = "select * from psi.dbo.product"
       Set mrce = ExecuteSQL(txtSQL, msgtext)
       mrce.AddNew
       mrce.Fields(0) = Trim(Text1(0).Text)
       mrce.Fields(1) = Trim(Text1(1).Text)
       mrce.Fields(2) = Trim(Combo2.Text)
       mrce.Fields(3) = Trim(Text1(2).Text)
       mrce.Fields(4) = Trim(Text1(3).Text)
       mrce.Update
       mrce.Close
    我就这么一段程序,哪里来的‘-’
      

  2.   

    这个变量txtSQL 有问题你可以将这个变量的值在sql server的查询分析器中运行试一下
      

  3.   

    'txt 中是否有单引号?'试试改为:
    txtSQL = "delete from psi.dbo.product where [item-no]='" & replace(txt,"'","''") & "'"
       Set mrce = ExecuteSQL(txtSQL, msgtext)
       txtSQL = "select * from psi.dbo.product"
       Set mrce = ExecuteSQL(txtSQL, msgtext)
       mrce.AddNew
       mrce.Fields(0) = Trim(Text1(0).Text)
       mrce.Fields(1) = Trim(Text1(1).Text)
       mrce.Fields(2) = Trim(Combo2.Text)
       mrce.Fields(3) = Trim(Text1(2).Text)
       mrce.Fields(4) = Trim(Text1(3).Text)
       mrce.Update
       mrce.Close
      

  4.   

    它是到UPDATE这里报错的,和最上面的一句没有关系啊,最上面的删除语句,运行是成功的
      

  5.   

    看樣子是SQL server的錯了:)
      

  6.   

    txtSQL = "select * from psi.dbo.product"
       Set mrce = ExecuteSQL(txtSQL, msgtext)
    /////////////
    這樣的寫法偶沒有用 用recordset直接打開
    rs.open "select * from  psi.dbo.product",conn,3,3
    用這個試試mrce.Fields(0) = Trim(Text1(0).Text)
       mrce.Fields(1) = Trim(Text1(1).Text)
       mrce.Fields(2) = Trim(Combo2.Text)
       mrce.Fields(3) = Trim(Text1(2).Text)
       mrce.Fields(4) = Trim(Text1(3).Text
    ////////////////
    或者試你text或者combol的是字符行,但是數據庫又是別的形態,都會出錯的
      

  7.   

    [item-no] 会不会是下划线看错了?