16 《小土豆》自动编程系统-V2015 用户手册
图2.3.1-1“新建数据表”对话框
1、自定义创建新表
选择为“自定义方式创建”新表,就是指完全使用手工编辑的方式完成新数据表的创建。选中此选项后按“确定”键,将结束数据表的创建。
所创建的基础数据表,可以通过对其编辑操作,达到所需要的数据表结构。数据表的编辑方法,请参照下节“数据表编辑”中的叙述。
2、用外部数据库导入
选择为“用外部数据库导入”,就是可以像初创时一样选择既有数据库来导入一张,或同时创建多张数据表。
选中此选项后按“确定”键,将打开导入操作向导,按其提示操作即可完成数据表的创建。
3、用Excel电子表文件导入(.XLS)
选择为“用Excel电子表文件导入”,就是指使用外部的“.XLS ”文件通过导入操作来创建一张,或同时创建多张数据表。
选中此选项后按“确定”键,将打开导入操作向导,按其提示操作即可完成数据表的创建。 ? 电子表在导入前,要检查期内部数据是否规则,也就是能否明确分清“字段名、数据格式”。如果不规范要做修改,以便系统能识别和正确导入。
4、用内置的数据库样板创建
选择为“用内置的数据库样板创建”,就是指使用系统自带的数据库样板文件来创建一张,或同时创建多张数据表。
选中此选项后按“确定”键,将打开导入操作向导,按其提示操作即可完成数据表的创建。
2.3.2“数据表”编辑
数据表编辑有两方面的含义,一是“创建新表”后的增加字段和字段编辑;二是“修改原有表”。数据表编辑器如图2.3.2-1所示.
《小土豆》自动编程系统-V2015 用户手册 17 图2.3.2-1数据表编辑器
1、数据表名
应使用中文编辑表名,而且最好是简短且含义明确。
? 数据表被使用后二次修改表名时,要极为慎重,否则将造成系统中所有引用该表的已设计功能无法使用。
编辑数据表名时,应为简短且含义明确的中文。
尽量不要使用英文编辑数据表名,如果必须要编辑为英文字段名时,不要直接使用英文单词,如“date、data、time…”等,如果要使用,应使用前缀下划线的方式命名,如“_date、_data、_time…”等,否则将会遇到一些单词被数据库系统占用,而导致不能创建数据源的问题。
2、字段名和类型
“字段名”和“字段类型”,是数据表属性的主要编辑内容。 1) 字段名
字段名可以由字母、汉字、数字或下划线组成,限定最长为60个字符,或30个汉字。同一数据表,最多可以建立的字段个数为:“Access数据库”时255个字段、“SQLServer数据库”时1024个字段。 编辑字段名时,应为简短且含义明确的中文。字段名字数最好为6个汉字以下,以方便在窗体中的标签控件设计和报表设计。
编辑字段显示名时,不可以在字段名的第一个字符位置使用半角“数字”,如需要数字时,可写为全角数字,如“1、2、3…”等,否则将在创建窗体数据源时出错。
不要使用纯英文单词编辑字段名,如“date、data、time…”等,因为许多单词被数据库占用为“关键字”而限制使用。如果要使用,应使用前缀下划线的方式命名,如“_date、_data、_time…”等,否则将导致不能创建数据源的问题。(最好避免方法是:不使用英文字段名)
? 使用中文编辑字段名时,系统将按“字段名”含义自动指定“字段类型”。对于“文本型”字段,还可按“字段名”含义自动指定其字符长度。
2) 字段类型
字段类型共分为7种。即使用户使用由“Access、SQLServer”创建的数据表时,也将被规整为以下7种类型。
(1) 文本型
该类型字段,用来存放单行的“文本”类型的数据。
如“大连”或“大连123”。
宽度:可以设置的最大数据位为Access数据库时255 个字节;为SQLServer数据库时1024个字节。值得提示的是,一个汉字要占用两个字节,因而存储10个汉字时,就要设置其宽度至少为20。 ? 凡是不需要算术计算的字段,即使是数字也应设置为“文本型”字段。如“编号、电话、邮编、卡号、保险号”之类的数字信息等等。
(2) 数字型
该类型字段,用来存放“整数”或“小数”型的数字数据。
如“123”或“123.456”。
“数字型”字段包括整数和小数位数及小数点,共计为16位。
宽度:对于“数字型”字段而言,“宽度”设置指的是“小数位数”的多少。可设置的小数点位范围为0-12。宽度指出为“0”时,相当于只保存“整数数据”。 ? 通过计算获得的数值赋值给“数字型”字段时,如果其小数位数大于指出的小数位数“宽度”,将被自动“四舍五入”到指出的宽度。当小数位数指出为0时,如果有小数将被自动“四舍五入”到整数中。
? 凡是需要做算术计算的字段,都应设置为“数字型”字段。
(3) 日期型
该类型字段,用来存放“日期值”或“日期时间值”数据。 如“2009-12-12”或“2009-12-12 12:12.56”。 宽度:“日期型”字段的宽度为“自动”。 ? 说明:
1、凡是需要对“日期值”做算术计算时,都应设置为“日期型”字段。
18 《小土豆》自动编程系统-V2015 用户手册 2、凡是使用“日期型”字段保存为“日期时间”格式的数据时(如:“2009-12-12 12:12.56”),则不能对其做修改,否则日期时间值江北清除。如果必须对其“日期时间”数据做二次修改,应将其改为两个字段存储。
(4) 是否型
该类型字段,用来存放“是否型”数值,如“是/否”等。“是”的记录值为“-1”;“否”的记录值为“0”
宽度:“是否型”字段的宽度为“自动”。
? 凡是要记载“是否、对错”等信息的字段,都应设置为“是否型”字段。 (5) 长文本型
该类型字段,用来存放较长的或多行的“文本”类型的数据。 如“显示很长的文本”或“要求编辑换行的文本”。
宽度:“长文本型”字段的宽度为“自动”。所占用的数据位最大为:Access数据库时65,535 个字节或1GB个字节(以编程方式输入)、SQL Server数据库时为2GB个字节。
? “长文本型”的字段,是不能通过查询检索直接获得其中的信息的。如果要查询“长文本型”字的信息,只能通过增加“文本型”字段,并将“长文本型”字段中的“关键词”摘要到“文本型”字段中做查询。
? 凡是要记载的文本较长,而且有分行显示的文本信息,都应设置为“长文本型”字段。 (6) 文件型
该类型字段,用来存放“二进制”的各种文件。 如“较小的图片”等。
宽度:“文件型”字段的宽度为“自动”。所占数据位最大为:“Access数据库”时1GB字节、“SQL Server数据库”时为2GB个字节。
? 在数据表的“文件型”字段中盛载大型“图片”数据,将导致数据库的运行效率降低。如果图片尺寸超过2寸大小,应将其以文件形式放置在外部文件目录下,而只在数据库中保存它们的所在路径较为合理。
? 凡是要记载图片的字段,都应设置为“文件型”字段。 3)“记录顺序”字段说明
在由《小土豆》系统创建的数据表中,会有一个自动创建的“记录顺序”字段。这个字段是用来处理“记录重复”冲突问题。用户不必关心此字段的存在。
“记录顺序”字段也叫“自增长字段”,其编号序列值,是由数据表在增加新记录时自动赋值的。 该字段的特点是:
(1) 删除记录时“编号”也消失而且不能手工补齐; (2) 不使用专门手段(如使用“行次整理”模块),其号码不能“归1重起”(编号起始为1)。
2.3.3 应注意的问题
1、“数据表”创建
数据表的创建一定要在《小土豆》的数据表编辑器中实施,即使是已在数据库引擎编辑器中事先创建好的表,也应该使用《小土豆》的数据表编辑器打开重新保存一下,以使得一些特定机制被创建在数据表中。
2、“数据表”修改
已被使用的数据表不应被再次修改,否则将导致相关设计无法运行。请在设计数据表时慎重规划好。一旦修改了数据表,将需要重新设计窗体中关联到该数据表的“数据源、控件”,以及已定义的“计算模块”等。
2.4 更改项目数据库说明
如果用户项目要更改数据库,设计以下相关内容。
2.4.1 更改数据库说明
当用户项目从“Access数据库”改变为“SQL Server数据库”时,要保证系统中用到的数据表,以及
《小土豆》自动编程系统-V2015 用户手册 19 数据表中的字段,是完全一样的,否则将导致出错。
如果“条件公式、智能计算”中使用到“Access、SQLServer”的原函数(英文的),或者使用了“执行SQL语句、编辑SQl模块”,则不能保证“无缝转换”的实施,而且有可能使转换后的用户项目不能完全正常运行。
2.4.2 系统表的“导出、导入”
用户项目数据库中,有数张系统用到的数据表,称为“系统表”。 这些表包括“系统用户表、权限控制表、系统日志表、系统用户表、资源文件表”等。
系统表是隐含在用户项目数据库中,而不能在“数据表编辑器”中直接可见。
1、导出“系统表”
在数据表编辑器顶行操作菜单中,选中“导出系统表”选项,将打开操作对话框,如图2.4.3-1所示。
图2.4.3-1导出“系统表”
1) 指出“导出文件路径”
在操作对话框中,指出要导出的系统表文件保存路径名。编辑文件名时不需要指出后缀名,而由系统自动添加为“.YQB”。如文件名表达式编辑为:
C:\\AA\\系统权限管理表
? 如果要指出导出文件路径,是“用户项目文件所在目录下”或该目录下的“资源文件”夹下,路径名表达式可以简化为:
系统权限管理表
此方式为文件路径名的“自动查找”机制。 2) 指出要导出的“系统表”
在操作对话框的“系统表名”列表中,选择需要导出的系统表。 完成选择后,按“确定键”即可完成导出操作。
2、导入“系统表”
在数据表编辑器顶行操作菜单中,选中“导入系统表”选项,将打开操作对话框,如图2.4.3-2所示。
图2.4.3-2导入“系统表”
1) 指出“导入文件路径”
在操作对话框中,指出要导入的系统表文件路径名。编辑文件名时不需要指出后缀名,而由系统自动识别“.YQB”的特定文件。如文件名表达式编辑为:
C:\\AA\\系统权限管理表
? 如果要指出的导入文件路径,是“用户项目文件所在目录下”或该目录下的“资源文件”夹下,
20 《小土豆》自动编程系统-V2015 用户手册 路径名表达式可以简化为: 系统权限管理表
此方式为文件路径名的“自动查找”机制。 2) 指出要导入的“系统表”
在指出导入文件路径名后如果文件存在,对话框中的“系统表名”列表中将显示出可以被导入的“系统表”列表,选择需要导出的系统表。按需要指出全部或部分导入表。
完成选择后,按“确定键”即可完成导入操作。
3、“导出、导入”系统表的意义
当用户项目在本机的“Access数据库”下开发完成后需要转换到“雅奇服务器”数据库时,就会用的“导出、导入”系统表的功能。
例如,用户在本机Access数据库开发阶段设置的“权限管理”,那么在移植到“雅奇服务器”数据库时,系统表是不能自动移植的。而如果不将本机“Access”数据库中的“权限表”移植到目标数据库,将导致设计期的所有“权限设置”都不存在而无法使用。
2.5 关于避免网络冲突
当用户项目为多人使用的网络管理系统时,要避免数据库访问的网络冲突。避免网络冲突只要记住以下两句关键词即可:
(1) 避免多个用户同时修改“同一个数据表的同一条记录的同一个字段”; 避免“同一个数据表的同一条记录的同一个字段”被多人同时修改的方法: 可以是“不同操作员,打开的表不同”;也可以是“不同操作员,打开的记录不同”。当需要限制后者时,可通过在数据源的“条件公式”中编辑检测表达式即可解决。
(2) 避免在使用“加工数据”模块时,有其他用户正在对相关数据表做修改或删除操作。 避免在使用“加工数据”模块时,有其他用户正在对相关数据表做修改或删除操作的方法:
可使用“取当前用户数()”函数,检测是否只有一个用户在线使用;也可以指定计算时间为特定的、不可能有其他用户操作的时机进行计算。
? 当然对上述问题而言什么都不做,数据库侦测到冲突发生时也会提示并自动处理的。
2.6“主流程”创建
所谓“主流程”,就是一个软件项目从运行到结束的结构框架。例如,软件启动时先打开登录对话框,接着打开程序主窗体…等等,就是主流程的应用实例。
用户打开《小土豆》时看到的第一个界面,就是“主流程”编辑器。一个用户项目中,只有一个“主流程”。
2.6.1“主流程”结构
主流程的设计结构一般为:“系统封面、主窗体”两项。系统封面中可以同时设计有“登录对话框”功能。
对于一般项目而言,主流程通常应设计为如图2.6.1-1所示的结构。
图2.6.1-1“主流程”的基本结构