问题描述:
有学员说在保存员工信息表的新增数据的时候出现-2147217887(图一) 多步OLE DB操作产生错误,导致保存不了,把问题反馈到我这里。
分析问题:
因为后台数据库是SQL server数据库的,首先是测试了链接没有问题,经测试其他表保存没有问题,只是在保存这个员工表新增的时候,出现错误提示,但是在编辑保存的时候没有问题。初步排除链接方式没有问题,应该是表结构出现问题。
经检查表中【是否离职】是布尔值,
但是窗体控件为文本框,
也就是在新增的时候【是否离职】不输入数据的话,保存到表里是NULL(空值),空值(NULL) 不等于 0
在Access里面是允许这样做,但是在SQL Server里面布尔值假如是NULL(空值),会导致保存失败。
解决方案:
把编辑窗体上【是否离职】控件改为复选框,并且设置默认值=0 ,保存修改, 重新测试,新增员工 保存成功,问题解决。
注意事项:
跟学员沟通,这个表的数据他之前是直接在表里面输入数据,是先有数据然后创建的窗体,创建窗体后没有新增数据,所以一直没有问题, 所以建议学员在创建好数据库和系统的的时候,最好把数据库清空了来测试。