OleDbType.Numeric  这个应该也可以的

解决方案 »

  1.   

    OleDbType.Integer我试了,不行!是位数问题?应该几位?
      

  2.   

    OleDbType.Numeric我也试了,不行!是位数问题?应该几位?
      

  3.   

    http://expert.csdn.net/Expert/topic/1385/1385068.xml?temp=.5992853
    saucer 说过
    do not use "@" for OleDbprivate void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {   string StrCon=ConfigurationSettings.AppSettings["ConOraString"];
        MyConn=new OleDbConnection(StrCon);
        string strupdate="update list set name=? and xj05=? and counter=? where xj01=?";
        MyConn.Open();
        OleDbCommand updatecmd=new OleDbCommand(strupdate,MyConn);
                updatecmd.Parameters.Add(new OleDbParameter("name",OleDbType.VarChar,20));
                updatecmd.Parameters.Add(new OleDbParameter("xj05",OleDbType.VarChar,20));
                updatecmd.Parameters.Add(new OleDbParameter("counter",OleDbType.VarChar,50));
       updatecmd.Parameters.Add(new OleDbParameter("xj01",OleDbType.VarChar,20));
    .................
      

  4.   

    4也出错!错误信息都一样。
    异常详细信息: System.Data.OleDb.OleDbException: 在执行命令过程中,发生了一个或多个错误。 ORA-00936: missing expression
    字段名肯定不会错的。
    我把Cmd1.Parameters["@seqno"].Value=seq;
    改为Cmd1.Parameters["@seqno"].Value=435;
    错误依然。
      

  5.   

    这样看看
    Cmd1.CommandText="insert into AAA(ZD1) values(@seqno)";
    Cmd1.Parameters.Add(new OleDbParameter("seqno",OleDbType.Integer));
    Cmd1.Parameters["seqno"].Value=435;
      

  6.   

    上面这个不行1
    我试了,必须把所有参数用?方式才行!我也知道这个方式,没用过,因为在ACESS表中,我用@方式一直好使,包括在ORACLE 里,对字符类型的也好使。微软真TMD破烦!!!
    谢谢你了!两个人商量着就是好!!!
    加分!
      

  7.   

    哦,是要用 Cmd1.CommandText="insert into AAA(ZD1) values(?seqno)"; 这样吗?
      

  8.   

    只用?  比如:values(?,?,?,?)