comm.Parameters.Add(new OleDbParameter("@num",OleDbType.VarChar,8));
改成
comm.Parameters.Add(new OleDbParameter("@num",OleDbType.Number,8));

解决方案 »

  1.   

    comm.Parameters.Add(new OleDbParameter("@num",OleDbType.VarChar,8));
     comm.Parameter["@num"].Value=mydatagrid.DataKeys[(int)e.Item.ItemIndex];
    改为:
    comm.Parameters.Add("@num",OleDbType.Int,8);
    comm.Parameter["@num"].Value=mydatagrid.DataKeys[(int)e.Item.ItemIndex];
      

  2.   

    mydatagrid.DataKeys[(int)e.Item.ItemIndex]-->(int)mydatagrid.DataKeys[e.Item.ItemIndex]这样呢?
    总之是小问题,仔细一点
      

  3.   

    不管我怎么改都是同样的错啊。注:在ACCESS的表中  
    主键:账号
    数据类型:数字
    字段大小:整型
    格式:常规数字
    大家看看根据上面的情况,参数应该怎么写?
    只要能行,马上结贴,分不够可以再加!
      

  4.   

    datakeys是不是在哪要设一下啊?
      

  5.   

    在datagrid的属性框中的datakeyfield项填上账号,就不会出现datakeys出界了