以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  经验交流  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=5)
----  [原创]提升星的亮点——数据内容加密  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=5&id=9547)

--  作者:pc_doctor
--  发布时间:2007-9-26 22:01:33
--  [原创]提升星的亮点——数据内容加密

主要是借用了“字符串排列”构件。达到不需要过渡表来处理加密和解密过程,使安全程度得到有效改善。

“字符串排列”构件,是一个值得大家好好研习和应用的构件,它能到达数据表的形式应用,有可以不需要预先建立专门的格式,可以在某些时候必须采用数据表格式来处理数据,而又不想留下痕迹时,它可能就是最佳选择了。所以,专门做了一个源程序放上来,一来大家互相研讨学习,二来可以让新手领略用星来解决其他编程软件都难处理的风采。

但是,我觉得“字符串排列”构件,还应该更进一步优化,使它更能大放光彩:

一、“字符串排列”的行号和列号以0开始,但数据表以1开始。双方需要对接时,就有不方便之处。

二、“字符串排列”的0行一般都会作为标题栏。但0行却有问题似的:1、在行数很多时,0行不定位,总会躲起来。2、用鼠标事件定行号时,0行业参与传值,与数据表的直接对接就有问题了,因为数据表没有0行。3、0行在运行时无色。

三、滚动条不真实同步。会造成很大错觉。

四、在删除最后一行时,有很大问题。1、行号记录不移动。2、有时候不能删除最后一行。

五、‘鼠标双击’事件中不能设置某些命令,特别行的移动命令。(见程序中该事件中屏蔽掉的命令)。

六、创建窗口时设置的行号处理命令无效。

同时,希望增加一些功能:

一、隔行着色。

二、单/双击列标题事件。

三、移动行/列号之后的事件。

四、方法:得到当前行/列号。

五、刷新

另,如果在同时使用‘开始行循环’和‘开始列循环’时,只有一个‘循环过程’事件,怎么来分辨处理呢?能否取消0行0列的概念?打印处理十分困难,请管理员帮助处理一下程序中的预留的打印处理!

同时,再次提请增加专门的加密/解密构件,帖子中曾经提过的。

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:


--  作者:FSJM
--  发布时间:2007-9-27 8:43:29
--  

你提供的包中,缺少一个数据库;你使用打印报表的方法也有问题;你把“成绩-temp.mdb”加上;我们给你看一看。

你提的问题,有很多是你使用上的问题。


--  作者:pc_doctor
--  发布时间:2007-9-27 15:52:06
--  

谢谢检查。

其实,只使用了一个数据库连接。连接2没有使用,只是留在那里准备其它用途,完全可以删除掉它。

如果,非要使用“成绩-temp.mdb”,就是将数据库连接1中的库复制一个即可。

——论坛中朋友也请多多发现问题和毛病,不能总是不回帖。这样,任何事情都得不到改进和发展的。


--  作者:admin
--  发布时间:2007-9-29 15:11:33
--  

稍稍看了一下你的项目,回复如下:

1、关于0行问题,软件向来如此设计,搭建之星也是继承下来的,不是搭建之星另起炉灶。

2、问题叙述不清,建议你提供更简洁的实例,直接说明问题。

3、看不懂。

4、测试一下,没发现你说的问题。

5、是指“浏览编辑网格”构件的鼠标双击吗?测试了一下,没有问题。

6、你在创建窗口时,只是得到字段总数赋给循环的结束值,应是得到循环次数,而且也得到了循环次数,似与你的问题不符。


--  作者:admin
--  发布时间:2007-9-29 15:12:16
--  
另外,打印不能这么设计,这不是数据库的设计思路。
--  作者:pc_doctor
--  发布时间:2007-9-29 15:59:39
--  

其实,目前的硬伤就是:一、在删除最后一行时,有很大问题。1、行号记录不移动。2、不能删除最后一行。二、打印解密后的数据无法完成。

其他的都是由不足之处,还可以想其他办法解决。

如果能做到附图中的效果,就能好解决直接打印加密数据了。只是,星可能解决不了,易语言的模式就能解决的。


此主题相关图片如下:
按此在新窗口浏览图片

的确,这种需求的打印,是不符合数据库的设计思路。但这不一切都是为了不使用过渡数据表来彻底达到数据内容的安全加密吗?这是一种需求和想法,确实要想实现的话,是很困难的!

如果采用过渡数据表来处理打印的话,当然好解决了。


--  作者:FSJM
--  发布时间:2007-9-30 8:07:26
--  

两种软件开发工具有本质的不同,搭建的设计思想是构件之间的相互配合,变量的要比 结构化语言“轻”的多。

你没有理解“搭建报表”的使用方式,所以才会有上述想法。搭建报表是通过内容区,经报表系统的自动移动记录来实现打印的,根本不需要你说的处理方式;搭建报表的优势也是在这里。

关于“删除最后一行”,那是你自己逻辑顺序搞错了。


--  作者:pc_doctor
--  发布时间:2007-9-30 17:38:54
--  

是的,的确是由于“字符串排列”与“数据表”的联动,而二者在记录号的移动机制上处理不同,特别是最后一行的删除移动区别很大,因此造成行号和记录号在最后一行的删除时,数据表记录号的上移反弹到字符串排列中去了。

解决办法:先删除字符串排列,再删除数据表,即可。

报表打印也解决了,采用动态构件建立的报表标签。

但是,目前唯一的问题就是:

一、不能在打印下一页时,将上一页动态建立的报表标签释放掉它,可能是动态生成前后的坐标发生变化。但检查又没有发现问题。

二、动态生成的报表标签中的内容不能居中。尽管在动态生成时的参照报表标签已经设置了内容居中。结果动态生成的报表标签写入内容时,还是没有居中。

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:


--  作者:admin
--  发布时间:2008-12-7 20:18:33
--  
数据库只能整体,通过数据库安全机制来做;你的这种做法,就是字符串加密,很多数据库功能就没有意义了。
--  作者:free123
--  发布时间:2009-3-4 15:38:48
--  
数据库的加密,是内部设置;和“客户端开发工具”应没有什么关系。