本模块通过C#与SQL实现,是本系统区别于单机系统的地方,也是本系统的重要组成部分。在程序中应用到数据库的地方很多,比如用户的登录验证、自定义的组织库等。有的单机系统也有数据库的内容,但大都为本地数据库,一旦脱离了运行环境,数据库就不能使用了。本系统应用云端数据库,可以随时随地调用数据库,在方便设计的同时也保证了数据的安全。
1.数据库设计
横编针织物的数据种类多,因此要根据每个数据的特点设计数据库,保证数据在存取的过程中不会丢失,表4-3-6为横编针织物的部分主要数据及其类型,其中id为主键,为数据库自动编号,每条数据都有一个唯一值,保证了每条数据的唯一性。
表4-3-6 横编针织物数据类型设计
由于C#与SQL具有天然的兼容性,C#通过SqlConnection对象建立SQL连接,可以直接执行SQL语句,本系统常用的SQL语句见表4-3-7,将产品导入数据库时有两种选择,一种是保存到数据库,第一次保存时插入新数据,执行“insert”语句,之后再次选择保存到数据库时都是更新此条数据,执行“update”;另一种是另存到数据库,不管什么时候操作都会新建一条数据,执行“insert”语句。从数据库中选择数据时,将数据显示在GridView表中,当使用不同的终端登录系统时,系统会自动检测登录终端是PC还是手机移动端,GridView表根据不同的终端自适应屏幕,如图4-3-37所示,(a)为PC端登录时数据库页面,(b)为手机端登录时数据库页面。
表4-3-7 SQL常用语句
图4-3-37 数据库视图
组织的自定义需要在设计时操作,选择区域后点击鼠标右键添加为组织,组织号为系统自动编号,可在选择组织的对话框中选择自定义组织,如图4-3-38所示。客户端不能连接远程数据库,因此要借助服务器端完成,此处涉及JSON与AJAX技术,前台通过调用后台函数完成,详细代码如下。(www.xing528.com)
客户端连接数据库:
图4-3-38 自定义组织库
其中,请求方式必须为“Post”,通过HTTP POST请求从服务器载入数据;url为发送请求的地址,即调用后台的函数;data为传到服务器的值,此处为需要保存到服务器的值;contentType为编码类型;dataType为返回数据的类型;success为请求成功后的回调函数,参数为服务器返回的值;error为请求失败后的回调函数,参数为服务求返回的值。
2.权限设置
本系统为用户登录制,用户在使用时需要输入用户名、密码,验证成功后才可以使用系统。用户登录后可智能查看自己的数据库或者公司数据库,因此在数据库中要设置相应的字段,也就是所属公司,在用户登录成功后,将用户的公司存在Session中,Session可以在网页运行过程中供所有页面使用,当操作数据库时会验证Session,并只选择出属于用户公司的数据。
Session还可以用于检测用户是否重复登录,用户在访问系统时,服务器会分配给用户一个SessionID,每次登录的SessionID都不相同,在用户登录时将服务器分配的SessionID存入数据库中,之后在用户每一次操作时用当前的SessionID对比数据库中SessionID,出现不同时则证明此用户名在其他终端登录,系统强制用户下线,具体代码如下。将判断的函数写到一个类里,供每个页面引用,当用户触发服务器响应时就会执行这个类。
限制用户登录代码:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。