Oracle中的参数好像不能用"@"
可以用"?"来占位,或者用":"前缀

解决方案 »

  1.   

    update test Set class =@class where id=@id--〉update test Set class =? where id=?
    ////////////////////////////////////////////////////////////
    MyCmd.parameters("@class").value = Cstr(Text1.text)
    MyCmd.parameters("@id").value = Cstr(Label1.text) 
    --〉
    MyCmd.parameters("class", OleDbType.VarChar, 50, "class").value = Cstr(Text1.text)
    MyCmd.parameters("id", OleDbType.VarChar, 50, "id").value = Cstr(Label1.text)
      

  2.   

    oracle参数只能用:作为前缀
    推荐你用OracleClient;
    下载 Oracle_Net.msi安装然后在添加引用  using System.Data.OracleClient;
    用法和SqlClient一模一样,很方便
    下载下址:
    http://et.hnair.com/et/Oracle_Net.rar
      

  3.   

    Dim updateCmd As String=" update test Set class =@class where id=@id"
         Dim MyCmd As oledbCommand = new OledbCommand(updateCmd,Conn)
         MyCmd.Parameters.Add("@class",Text1.Text);
         MyCmd.Parameters.Add("@id",int.Parse(Label1.text));我想你的id应该是Int类型的,转换一下,上面我改的最后两行是C#代码,不知道和VB一样不一样。
      

  4.   

    ORA-00936表明是oracle数据库,参数当然不能用@开头了:)
      

  5.   

    多谢各位,问题解决。
      PS:我的Oracle版本是8.1.6,似乎不支持OracleClient.