经过调试 fid 字段是有值得,自己也测试过了,把这张表的所有的字段手动赋值,还是报这个错误;手动在数据库中insert 一条语句是没有问题的。
错误都报出来了么不是?
但是我已经断点过了,字段都是有值得。
@IT小伙儿: 字段有值不代表生成的sql语句也给他赋值了,这样的错误,看看是不是你model都赋值了,但是在dal里面的时候,没有将这个属性当成参数传到oracle里面。。。
@顾晓北: 实体中的属性值和数据库中值 是对应的,都是通过实体传递的
@IT小伙儿: 这是自己写的dal?这个model只要都有值,他会自动生成sql语句?然后eb_flow_approval是表名,fid是主键?
@顾晓北: 嗯嗯 是的 fid 是主键;下面是我手动写的数据,还是不行;
@IT小伙儿: dal是你自己写的么?如果不是,我建议你看看dal的源码,是怎么生成的sql语句,或者简单点,你在马上要插入数据库的地方,放一个断点,看看生成的sql语句是什么。。。
@顾晓北: dal 不是自己写的,源码是封装好的,底层的看不让看,db.insert 是NPOCO里的方法
@IT小伙儿: 没研究过这个orm,大概看了下,你的model貌似也没写错,不知道哪儿出了问题,帮不了你了。
@顾晓北: 谢谢的你热心回答,问题已经解决了,查出来是什么原因了,还是那个fid 主键引起的异常,应该在实体中加上 AutoIncrement=false 这样就可以。
@IT小伙儿: 默认是自增?非要加上不自增才行???
数据有没有yi yi对应?
嗯嗯 都一一对应了,我是手动赋值的也试过了 还是报错
你的FID是不是自增长的?很有可以是你在调用Insert没有对FID进行赋值
fid 只是一个主键列,不是自增的
@IT小伙儿: 问题就在Insert的方法里面
@稳稳的河: Insert 方法是底层方法,问题应该不存在Insert 中