用的ACCESS数据库 因需求涉及到 价钱、提成 所以将这两个字段(price、percent)数据类型设成数字,字段大小是单精度型,实体类中对应的 这两个属性 
public float price{get;set;}  
public float percent{get;set;}添加数据的时候获取文本框中输入的值
model.price=float.Parse(sellPrice.Text);将该model传递到数据访问层数据访问层该字段OleDbParameter op = new OleDbParameter("@price",OleDbType.Single,50)
op.value=model.price插入数据的时候提示“对象必须实现 IConvertible”上网搜了一下说是参数值和参数类型不匹配,那是哪里的错误呢!

解决方案 »

  1.   

    你要把完整代码放出,因为问题关健不在于这个行代码
    初步估计,
    楼主是用三层,还基于接口,主要是用工厂切换数据库那种。在DAL层,是引用接口的,你要实现接口
    估计你是引用接口,但没有全部实现接口的方法。
    有两种
    1。你只引用接口,但没实现接口的方法
    2 你引用接口,实现内容的方法,但你又删了一些,没全部实现
      

  2.   

    OleDbType.Single 你映射的是single,但你用的是float。把类的数据类型改为single吧
      

  3.   

    OleDbParameter op = new OleDbParameter("@price",SqlDbType.Float,50)