一、问题描述编辑
我们有时候在使用报表的填报功能上报数据时,偶尔会遇见上报出错的情况,反复检查上报设计流程,却发现报表设置填报过程没有任何问题,那到底是由于什么原因引起的报错呢…?
报错信息:
数据提交出错[SQLITE_ERROR] SQL error or missing database (unrecognized token: "2009年");从上面的报错信息中,我们可以看出: SQL 错误或丢失数据库(不可识别的字符:2009年)
二、解决方案编辑
检查填报界面
如图:
经过一番排查,SQL 和数据库都没有问题,问题应该处在“2009 年”这个字段上。哦…原来数据库表字段一般是不允许以“数字”开头的!
我们来修改下以数字开头的表字段,然后再进行填报!
如图:
效果预览
总结: 造成填报失败的原因就是表字段以数字开头命名导致。
注:大家在创建数据库和表及字段时,请务必严格按照相关数据库指定的命名规则进行命名,否则可能会造成严重的后果!
附:数据库设计表及字段命名规范
1.数据库表命名规范:
(1)表名前应该加上前缀,前缀全部大写或首字母大写,表名中包含的单词首字母大写。
(2)数据库表名应该有意义,易于理解,最好使用英文单词或缩写。
(3)表名不易太长,最好不要超过 3 个英文单词长度。
(4)在数据库表命名时应该用英文单词的单数形式。如员工表:Employee
(5)如果是后台表命名时应该在表名基础上加上后缀。
(6)在表创建完成前,应该为表添加表的注释。
2.表字段命名规范:
(1)数据库表字段应该是有意义,易于理解,最好是能够表达字段含义的英文字母。
(2)系统中所有属于内码,即仅用于标识唯一性字段,建议取为 ID,采用类型为整型或长整型.
(3)系统中属于是业务内的编号字段,建议字段命名为 code。
(4)不要在数据库表字段中包含数据类型,如:datetime、int 等
(5)不要在数据库表字段命名时重复表名,可以使用表名首字母。如:tab_xx
注: 不建议使用数据库关键字。如:name,time,datetime,password 等。
不建议以数字开头。 如2009年,105车场