All Stories

该死的ADO,该死的SQLServer,该死的XML

该死的ADO,该死的SQLServer,该死的XML

  当时还为自己的设计沾沾自喜、得意洋洋,觉得这样的想法、这样的灵感、这样的架构简直就是神来之笔,谁知结果带来的是无休止的崩溃,找不到原因的异常!  因为需要对流程支持历史版本,也即如果新的流程里删掉了旧的里的活动,但活动里又有关联内容时,流程图在显示的时候,需要把表示活动的图形也显示出来,而boss又认死了excel这个东东,所有流程图的内容都要在Excel中编辑完成,可Excel里又没有记录修改动作历史,于是乎,我的设计隆重登场了。我先把Excel中的内容转换成XML保存下来,然后当Excel有了变化,再分析一遍转化成XML,跟原来的XML比较合成一把,这样似乎就能在那么丑陋的设计中以自以为比较优雅的方式实现这个需求了。结果问题也来了,原来的数据表结构要修改,需要为每个流程记录增加一个存放这转化后的XML内容的字段,而恰好MS SQL Server 2005中有那么一个叫XML的字段类型,于是欢天喜地、兴高采烈地用上了,于是又花了一天才勉强做得像以前已经完成的那种程度。因为XML里可能有各种字符,而且可能非常非常长,所以用合成SQL语句来insert、update、select是很难受的做法,又出于我对ADO的不熟悉,好不容易找到设置Field的Value属性的方法,结果在存放、获取XML数据里花了我今天近一天以及之前的那些时间!  在写入XML时就陷阱重重,第一条xml处理指令的存在就很可能引起崩溃,简单说来,我保持了GB2312的编码方式,里面有中文,它就不让我写进去,一update就崩溃,现在想来,也许用UTF-8不会有这样的问题,嗯!但我还是作了个很恶心的决定,要写入之前,跳过前面的这条指令!接着在取出时,总是会在后面加入一堆乱七八糟的东西,又花了好多时间,最后决定,自己在字符串中查找结束标志,之后的全部丢弃,才好不容易让MSXML的DOMDocument接收了,而且是不能让它直接load文件,得自己把文件里的内容读出来,加上那个xml处理指令,再loadXML,晕死!  不容易啊,不过也算是经验教训了,下次再遇到这样的事就应该能省很多时间,不过我猜下次的机会不多了,不已经烦透了,我要去做其它的东西去。可能还是会让我去做Impeller的部分工作吧,我要让它支持灵活的外部扩展,我要让Source Insight消失!

ADO操作数据库还真麻烦

ADO操作数据库还真麻烦

  有点像标题党,呵呵,如果这样的东西放在csdn之类的地方,说不定会引来一大堆人的口诛笔伐,不过这真是我今天的感受啊!  早就烦透了用C++通过COM接口使用ADO来操作数据库了,不得不为那些先人们的艰苦生活感到可怜了。如果没有ADO,我的生活肯定不知比现在悲惨多少倍呢!  但是现在我也是感到苦恼气愤,为什么SQL Server会有这么多不同的字段类型,却使用了同一套表达能力极为有限的API和SQL语法。今天也就只花了一点时间来写代码,结果全都花在这个引起的问题上去了,而且到现在都没解决,郁闷!  恶心死啦!

去报了个驾校

去报了个驾校

  年前就想去报了,结果被小破江江一直拖到现在。真是后悔当年在学校没去考,当时只要2000多RMB就可以了,今天就刷掉¥4080,心疼呀!  计划着是到周末的时候去学一下,据说一次才学1个小时,这么少时间!等到半年多过后,差不多就能拿到驾照了,争取有足够的钱去买个车,呵呵!  不过要学个车也麻烦呢,要交十多张一寸照,要填好几张表,还要3份身份证复印件,甚至还要体检证明!还要去理论学习,还得是工作日去,还得请假,还得有几次考试,还得都是工作日的,还得都请假,真是烦啊,还好还有几天年休假!  加油加油,赚钱赚钱,呵呵!

《UNIX编程艺术》

《UNIX编程艺术》

  春节放假前就在看了,这书我早就买了英文版,那时意气风发,还以为自己能忍住煎熬看完的,结果没看几个字就束之高阁啦。这回从公司图书馆借来的中文版,居然还能坚持下来看,真是书非借不能读啊,哈哈。不过我也没有全部仔细看完,只挑了中间自己现在感兴趣的,有点关注的主题看了看。总的说来,这书对我的启发意义还是有点大的,对于程序设计方法,软件架构等都有不少的教育意义,觉得还是多有收获的,呵呵。  这书完稿于2003年,所以今天看来,有少许内容有点过时,没有及时刷新,但这并不妨碍它在总体上成为一本好书。最后几章的内容我就没看,看了一下标题,觉得没多少兴趣。  最近对程序设计方法、需求分析之类的主题比较感兴趣啊。接下来要看看重构、测试驱动开发、设计模式方面的书啊!可是可是,我那本《敏捷软件开发》被老大拿走了,他怎么能这样呢!

小思宇结婚了呢

小思宇结婚了呢

  昨天听小妞说的,小思宇前天去领了证,昨天就去公司请假,下周就休假一周,过甜蜜生活去了。时间过得真快呀,想当时我们4个人一起住的时候,还都是小孩子,不时地还会谁跟谁怄气一下,然后剩下两个人要么不知所措,要么就去劝架,呵呵。转眼间,小思宇就已经是已婚妇女了,哈哈,再过不了多久,小妞也要嫁作人妇了,呼呼。  祝小思宇彭彭幸福!

今天遇到奇怪的事

今天遇到奇怪的事

  给江江写了一个小程序,用于自动从一些excel文件中复制数据到另一些excel文件。但江江说有问题,我也不知道到底哪里出问题了,于是想加入日志功能吧,这样至少可以看看代码执行的流程。可就在这里,遇到一件怪事,居然写文件写不进去内容!开始我是用C库里的fopen系函数来写文件的,但是什么都写不进去,单步调了一下,好像fopen就有问题,该函数返回的是一个FILE*,但看调试器里,该指针指向的内容是一堆0,好像就是打开失败,但它却确确实实返回一个有效的指针了,郁闷!于是我就试了一下用C++库里的fstream,开始看好像是可以的,于是我就把原来自己写的那个日志类拿过来用,反正里面写文件的代码就是用fstream的,不过这时又不正常了,只是零星写了点完全无用的数据进去,其它信息压根都没有,真是郁闷啊!  因为是用了那个日志类,所以OutputDebugString的输出还是有的,这就让我觉得很奇怪啊!因为下班了,于是也不想再继续深究下去了,反正用DebugCapture捕获这些输出,再导出到文件,也勉强是可以用了,呵呵。  不过这真是奇怪啊,完全没有任何头绪!

元宵节快乐

元宵节快乐

  又是一个节日,又是一个人过,又是一次难过。什么时候才是个尽头啊!今天,我突然顿悟到一种奇怪的念头。付出是不一定会有回报的,而且是有很大几率没有回报的。而有时候,什么都不做,却什么事情都往头上摊。无可奈何啊,茫然而麻木地做着这些事,只是为了企望以后能少点遗憾和后悔。

买到了2007年程序员合订本

买到了2007年程序员合订本

  不容易啊,看网站上说1月15日就全国同步发行上市了的,结果我天天逛那些个小卖部,还去其它卖书的地方看,就是没看到。今天中午吃过中饭,跟疯丫头去食堂一个平常都没去过的小卖部,偶然发现那里居然有卖了,不禁有些欣喜。现在定价是¥45,在我的意料之中。想都没想就刷了卡,买回来随便翻了翻,发现这次的合订本纸张质量很差,闻一下味道也不好,没有那人让人心旷神怡的墨香,感觉像是盗版的,晕死,不过看那附着的DVD,觉得应该是正版的,呵呵,盗版的也不会这样明目张胆地放在公司小卖部了。  快速浏览了一下目录,感觉没什么特别感兴趣的内容,不知道是我自己的品位发生了变化,还是这个杂志确实做得越来越不对我的口味了。不过我也不是很放在心上,反正平常确实也都不买月刊了,最多拿别人的看一下,或者索性在小卖部里看,呵呵。

使用GDI+实现异形窗体

使用GDI+实现异形窗体

  总的说来,GDI+的资料似乎还是少了点,用GDI+来实现异形窗体实在是太酷了,不过似乎用PNG这种支持透明色的图片格式最合适,如果是像BMP或JPEG这种没有透明色的,最好还是用关键色混合的方法,这种方法网上已经有n多代码了,纯API或MFC之类的封装都有。不过GDI+的用起来总会出现点莫名其妙的问题,比如我在家里用时,发现换成Win2000 Pro中文版或WinXP SP2 Pro中文版时,在窗体上用GDI+写出的文字有时候就是不正常,总是显示为透明的,一定要透过窗体下面的颜色跟背景色相同时,才会显示出正常的颜色。