以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  修改表结构的保存方式有那么难吗?请贺老师给一个理由!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2697)

--  作者:cpayinyuan
--  发布时间:2009/5/6 7:43:00
--  修改表结构的保存方式有那么难吗?请贺老师给一个理由!
    如题。我从其他文件导入狐表,有几个表,每个表有几十列,因导入的表的列类型不对,所以需要修改。以前已经提过,目前设置列的方式是每改一个列的类型就保存一次,所以速度非常慢,几个表总共几百列,我改了差不多一两个小时才改完。实在不理解为什么为什么要每修改一个列就保存一次,浪费了这么多的时间,难道在“查看表结构”界面的下面设一个保存按钮,一次性保存有什么不好吗?既节约时间又可以避免误修改(在保存之前可取消)。强烈要求贺老师给一个理由!
--  作者:狐狸爸爸
--  发布时间:2009/5/6 8:18:00
--  
导入数据包括列类型的,最多也只是个别调整而已吧? 不明白你为何还需要花两个小时去修改。
而且导入不是日常操作,不过是系统设计之初要导入已有数据而已。
--  作者:狐狸爸爸
--  发布时间:2009/5/6 8:24:00
--  
还有数据量大的话,可以只导入结构,不导入数据,结构修改完成后,在合并表即可。
这样会好很多。
--  作者:yuansq
--  发布时间:2009/5/6 8:32:00
--  
他是先导入,然后再修改表结构的,估计是导入时有相当多的列不能正确识别数据类型造成的吧。

--  作者:狐狸爸爸
--  发布时间:2009/5/6 8:39:00
--  
以下是引用yuansq在2009-5-6 8:32:00的发言:
他是先导入,然后再修改表结构的,估计是导入时有相当多的列不能正确识别数据类型造成的吧。

不会的,都能正确识别。
--  作者:cpayinyuan
--  发布时间:2009/5/6 8:50:00
--  
以下是引用狐狸爸爸在2009-5-6 8:39:00的发言:

不会的,都能正确识别。

    无论你是否相信,的确有一些不会正确识别.而且,我不清楚如果把整数识别成小数或反之,或者识别的小数位数不正确,或者字符列的长度不正确,算不算正确识别.至少,识别后仍然有许多列需要修改.例如数值列的重新设置(整数/小数/小数位数的相互转换和设置),字符型的字符长度有时候需要重新设置等.

    不明白贺老师为什么非要反复强调修改表结构不常用,或者非要说我导入的办法有问题,这是明显的改变话题,这与修改系统的设置表结构的方式无关.

    就算你说的都对,修改表结构不太常用,导入的也基本上可以正确识别.改成我说的那种方式明显比目前系统中的方式更方便/快捷/安全,我想知道您为什么不改?还非要改变话题.即使不太常用,改得更方便一些难道不好吗?我们花一个小时间以上的时候来更改表结构,如果把这些时间省下来研究代码难道不好吗?

[此贴子已经被作者于2009-5-6 8:52:44编辑过]

--  作者:程兴刚
--  发布时间:2009/5/6 9:12:00
--  
      改变列类型,系统要逐行逐单元格执行,执行效率不高,最后一次性保存,估计得把人急死,一般在设计过程中定位列类型,不建议一边设计一边使用,尽量避免数据量大了执行效率慢的问题,也许就是狐表帮助中建议大家在新建新项目时,一次性设计表、列的原因。
      个人测试了Excel的单元格属性的更改列属性,以16列各10万行同时更改列类型为例,几乎瞬间完成,分析认为狐表与EXCEL相比,前者嫁接了从表到列、以至于单元格的许多执行事件,更改列类型之前,还要去对列数据逐行进行校验,检查该列的所有数据是否匹配,比如某列为字符型写入非阿拉伯数字字符,再更改列类型为数字型,系统会报错提示,因为狐表不是纯电子表格,是在电子表格的基础上兼备设计功能,这更符合编程的要求的严谨性和需要,
      而excel仅是一个纯电子表格,同样的方法在文本型单元格写入非数字的文本,再更改单元格类型为数值型,他不会理你,为您保留了这个错误,只有等你输入数值,才会自动改变为您设置的数值型格式,而且无任何提示,只有在计算时引用到该单元格,出现计算不出结果的时候,您才会发现,恰恰与编程需要相反,当狐表在从其他列更改为备注列的时候,会生成备注窗口,这些都会造成执行过程的时间差,尤其是数据量越大(记录越多的时候)
    
      当然,还是希望贺老师能在此基础上绞尽脑汁予以突破,以尽量满足大家的使用习惯!
--  作者:cpayinyuan
--  发布时间:2009/5/6 9:19:00
--  
    不仅仅是Excel,如果说Excel是电子表格软件,那么其他的数据库软件(如Sql server等)好像也都是先修改列,再保存的.
    在最初的时候一次性把表结构设计好当然是最好的,但谁敢保证一次性能完全建立没有任何差错,如果贺老师这样要求实在是强人所难!个人认为,在建立了表结构之后,如果还没有设置表事件,还没有在任何代码中引用过表的数据,这时候修改表结构应该是很正常的,不会给系统造成任何问题,也不会有任何麻烦!好像这时候修改表结构应该也是很正常的,但目前的狐表中,即使在这个时候,修改表结构也会非常慢,实在不应该!
     如果我要求贺老师编出的软件保证100%的正确,不能有任何BUG,您能做到吗?对于水平不太高的我们,修改表结构,应该和您修改狐表系统一样,是很正常的!
   
[此贴子已经被作者于2009-5-6 9:19:53编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/5/6 9:24:00
--  
呵呵,没有要求100%正确啊,不是还有一个更改列的按钮啊,可以用于调整设置不当的列啊。

--  作者:cpayinyuan
--  发布时间:2009/5/6 9:27:00
--  
以下是引用狐狸爸爸在2009-5-6 9:24:00的发言:
呵呵,没有要求100%正确啊,不是还有一个更改列的按钮啊,可以用于调整设置不当的列啊。

    贺老师,您不要总改变话题好不好?

    您是专家,您明明知道我建议的这样改既符合数据库设计的惯例,效率又高,使用又方便,但您总也不改,而且总是不正面回答这个问题,我想知道您不这样改的真正理由是什么?

[此贴子已经被作者于2009-5-6 9:28:40编辑过]