[发明专利]一种对多行数值列存储成一行的方法无效
申请号: | 200910018623.0 | 申请日: | 2009-09-07 |
公开(公告)号: | CN101645076A | 公开(公告)日: | 2010-02-10 |
发明(设计)人: | 王波 | 申请(专利权)人: | 浪潮集团山东通用软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种对多行数值列存储成一行的方法,该方法是将存储数值列的字段数据结构定义为varchar或text非数值型类型,然后通过程序解析为用“-”和“,”连接数值的表意串存储在数据库中。 | ||
搜索关键词: | 一种 行数 存储 一行 方法 | ||
【主权项】:
1、一种对多行数值列存储成一行的方法,其特征在于,将存储数值列的字段数据结构定义为varchar或text非数值型类型,然后通过程序解析为用“-”和“,”连接数值的表意串存储在数据库中,将多行数值表生成解析为一行表意串的主要程序组件如下:String vsstr,vsstr2Long vlrow1,vlrow2,vlrow,vli,vlj,vlnum,vljh1,vljh2,vlm,vlnLong vlrowcountvlrowcount=dw_1.RowCount()IF vlrowcount=1THENvljh1=dw_1.GetItemNumber(1,″f_wcjh″)mle_1.Text=String(vljh1)RETURN 1END IFFOR vli=1TO vlrowcountvljh1=dw_1.GetItemNumber(vli,″f_wcjh″)vln=0vlm=vli+1FOR vlj=vlm TO vlrowcountvln=vln+1vljh2=dw_1.GetItemNumber(vlj,″f_wcjh″)IF vljh2<>(vljh1+vln)AND vln>1THEN//处理开始是连续号的情况vsstr=vsstr+String(vljh1)+’-’+String(vljh1+vln-1)+’,’GOTO a //跳出循环再次开始ELSEIF vljh2<>(vljh1+vln)AND vln=1THEN//处理开始是断号的情况vsstr=vsstr+String(vljh1)+’,’GOTO aELSEIF vljh2=(vljh1+vln)AND vln>=1 AND vlj=vlrowcount THENvli=vljvsstr=vsstr+String(vljh1)+’-’+String(vljh2)+’,’END IFNEXTa:vli=vljIF vli=vlrowcount THENvljh2=dw_1.GetItemNumber(vli,″f_wcjh″)vsstr=vsstr+String(vljh2)+’,’ELSE//第一次循环没有结束,则继续处理后续数据,同时开始点调整为vlj-1vli=vlj-1END IFNEXT。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团山东通用软件有限公司,未经浪潮集团山东通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910018623.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种带有监视功能的摄像笔
- 下一篇:一种磁钉座