2006年08月10日

        早上去赶公交车的路上,总能看见一群头发花白的奶奶,手持红扇,偏偏起舞。每每看到她们身心投入的样子,心里有一种说不出的感触。总想停下来,多看她们一会儿,可是我不能,哎,公交车不等人呀。不知道等我老了的时候,能否像她们一样,保留着一颗舞动的心。

2006年07月28日

        好久没来我的地盘写东西了,有时候心情不好,很想写点儿什么,发泄一下。可是……,不知道为什么,一个字也写不出来。

2006年06月15日

         写了一个小程序,delphi7+ado+ mysql   运行一直很正常,今天突然有个家伙告送我,程序在他的机子上出了问题,问题如下:‘数据提供程序或其他服务返回E_FAIL状态’。在网上搜了一下,相关信息还真不少,具体的说有以下几种可能

        1:ado 需要更新;

        2:数据库坏了

 根据他的计算机的情况,第一种排除。数据库彻底坏了也不可能,因为程序在其他人的机子上运行正常,最后我开始怀疑他录入的数据出了问题,查了一下果真如此。由于程序非法中断,导致非法数据被存到了数据库。至此,问题搞定。

提示:如果有朋友遇到和我一样的问题,请先检查一下你数据库里的数据。

 

 

2006年05月26日
2006年05月17日

电脑生病好几天了,一直没有找到好的办法,今天终于解决了,写出来大家共享一下。
错误信息“无法定位程序输入点GetIUMS于动态链接库MSDART.DLL上”
网上搜了一下结果挺多
标准解决办法如下:

1. 到微软网站 http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&displaylang=zh-cn 下载mdac2.8
2. 安全模式下安装mdac2.8, 检查system32\msdart 版本号是否为2.8 140 K 原来为120K 。否则,用rar 解开mdac_typ.exe到一个目录中,再解开mdacxpak.cab ,把其中的mdacxpak.dll COPY到 system32\目录下。

照做之后问题依旧,这让我很是郁闷,分析原因肯定是还有一些连带的dll 没有替换,苦找了半天终于被我发现了
在目录:C:\Program Files\Common Files\System\Ole DB 下还隐藏着三个dll 等待替换
他们是 oledb32.dll oledb32a.dll oledb32r.dll 这三个dll 可以在 mdacxpak.cab 中找到

替换完毕,问题解决

2006年03月15日

  好心情

        可能因为今天是生日的缘故,感觉特别好。好像一切都在让着我,干什么都觉的很顺利。烦了好几天的程序终于快要写完了,虽然还不知道客户是否买张,不管啦。哎,不过又长大了一岁,还是有点点儿不爽,没办法,要是总不长大,那就真要变成‘天山童老’了,那也挺可怕的。

哈哈

生日快乐

sunny

 

happy birthday to myself !

2006年02月28日
一、分页写法小例:
select first 10 templateid,code,name from template ;
select first 10 skip 10 templateid,code,name from template ;
select * from shop rows 1 to 10;  –firebird2.0支持这种写法

二、–更新字段注释
update RDB$RELATION_FIELDS
set RDB$DESCRIPTION = ‘描述信息’
where (RDB$RELATION_NAME = ‘SHOP’) and
(RDB$FIELD_NAME = ‘CREDIT_BUY’)

三、–显示字段注释
select RDB$FIELD_NAME,RDB$DESCRIPTION from RDB$RELATION_FIELDS
where (RDB$RELATION_NAME = ‘SHOP’)
and
(RDB$FIELD_NAME = ‘CREDIT_BUY’)

四、–更新表注释
update RDB$RELATIONS set RDB$DESCRIPTION = ‘描述信息’ where RDB$RELATION_NAME=’TABLE_NAME’

五、–查询所有的表和视图(包括系统表和系统视图)
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS;

六、–查询所有的用户表和用户视图
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG = 0;

七、–查询所有的用户表
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG = 0 AND RDB$VIEW_BLR IS NULL

八、查所有用户表、用户视图所有字段及相关定义
  SELECT a.RDB$RELATION_NAME, b.RDB$FIELD_NAME, b.RDB$FIELD_ID, d.RDB$TYPE_NAME,
  c.RDB$FIELD_LENGTH, c.RDB$FIELD_SCALE
  FROM RDB$RELATIONS a
  INNER JOIN RDB$RELATION_FIELDS b
  ON a.RDB$RELATION_NAME = b.RDB$RELATION_NAME
  INNER JOIN RDB$FIELDS c
  ON b.RDB$FIELD_SOURCE = c.RDB$FIELD_NAME
  INNER JOIN RDB$TYPES d
  ON c.RDB$FIELD_TYPE = d.RDB$TYPE
  WHERE a.RDB$SYSTEM_FLAG = 0
  AND d.RDB$FIELD_NAME = ‘RDB$FIELD_TYPE’
  ORDER BY a.RDB$RELATION_NAME, b.RDB$FIELD_ID
九、查找某表的所有字段及相关定义
  SELECT A.RDB$FIELD_NAME, B.RDB$FIELD_TYPE, B.RDB$FIELD_LENGTH, B.RDB$FIELD_PRECISION, B.RDB$FIELD_SCALE
  FROM RDB$RELATION_FIELDS A, RDB$FIELDS B
  WHERE A.RDB$RELATION_NAME = ‘tablename’
  AND A.RDB$FIELD_SOURCE = B.RDB$FIELD_NAME
  ORDER BY A.RDB$FIELD_POSITION
十、查找某表的主键定义字段
  select A.RDB$FIELD_NAME FROM RDB$INDEX_SEGMENTS A, RDB$RELATION_CONSTRAINTS B
  WHERE B.RDB$CONSTRAINT_TYPE = ‘PRIMARY KEY’
  AND B.RDB$RELATION_NAME = ‘tablename’
  AND A.RDB$INDEX_NAME = B.RDB$INDEX_NAME
  ORDER BY A.RDB$FIELD_POSITION
十一、查找某表的外键定义  
  select r1.RDB$CONSTRAINT_NAME, rind.RDB$FIELD_NAME, r2.RDB$RELATION_NAME
  FROM RDB$RELATION_CONSTRAINTS r1, RDB$RELATION_CONSTRAINTS r2, RDB$REF_CONSTRAINTS ref, RDB$INDEX_SEGMENTS rind
  where r1.RDB$RELATION_NAME = ‘tablename’
  and r1.RDB$CONSTRAINT_TYPE = ‘FOREIGN KEY’
  and r1.RDB$CONSTRAINT_NAME = ref.RDB$CONSTRAINT_NAME
  and ref.RDB$CONST_NAME_UQ = r2.RDB$CONSTRAINT_NAME
  and r1.RDB$INDEX_NAME = rind.RDB$INDEX_NAME
十二、触发器的控制
update RDB$TRIGGERS set RDB$TRIGGER_INACTIVE=1   where RDB$TRIGGER_INACTIVE=0
十三、选出所有含有外健的子表
select  distinct  rdb$relation_name  from  rdb$relation_constraints   where rdb$constraint_type=”FOREIGN KEY”;
2006年02月24日

        好不容易收到了二代身份证,欣喜之于当然要欣赏一番,但我却发现我的身份证号码的最后一位和家人的有些不同。为什么爸妈的都是数字,唯有我的是一个字母’x'呢,为了找到答案,我在网上狂搜了一番,嘿嘿!功夫不复有心人,答案找到了,贴出来,给那些跟我一样的’X'战警们吧,

      答案如下:

      居民身份证的号码是按照国家的标准编制的,由18位组成:前六位为行政区划代码,第七至第十四位为出生日期码,第15至17位为顺序码,第18位为校验码。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位,而19位的号码违反了国家标准,并且我国的计算机应用系统也不承认19位的身份证号码。Ⅹ是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。

2006年02月16日

不知道是最近心情不好的缘故,还是我遇到的这人太可气了,弄得我的心情跌倒了谷低。

哎,做人难,做好人更难呀,今天充分理解这句话的含义了