我是靠谱客的博主 阔达小鸽子,最近开发中收集的这篇文章主要介绍cache数据库:对象方式的数据库访问,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

修改后的数据库截图 
这里写图片描述 
对象是User.Person 
代码:

Class web.PersonObj Extends %RegisteredObject
{
ClassMethod insertbyobj(name, age, sex)
{
    ///先生成一个person对象
    set person=##class(User.Person).%New()
    ///对象属性赋值
    set person.age=age
    set person.name=name
    set person.sex=sex
    ///保存
    set sc=person.%Save()
    ///判断是否正确
    if $$$ISERR(sc){
		Quit "fail"
		}
		Quit "success"
}
ClassMethod updateobj(rowid, name)
{
	set course = ##class(User.Person).%OpenId(rowid)
	set course.name=name
	set sc=course.%Save()
	if $$$ISERR(sc){
		quit "fail"
		}
		quit "success"
}
ClassMethod deleteobj(rowid)
{
	set sc=##class(User.Person).%DeleteId(rowid)
		if $$$ISERR(sc){
        Quit "fail"
        }
        Quit "success"
}
}1.我们已经建了一个person类,接下来就是表的存储结构 
2.打开Inspector,先输入rowid名字为p_RowID,选class->Storage 
这里写图片描述 
3.新建一个Storage,选择CacheSQLStorage,在SqlIdExpression中输入$i(^mdata(“Person”))是$不是S 
意思是设置Rowid为自增,注意StremLocation的写法 
这里写图片描述 
4.Caché 以多维数组存储数据,所有数据都是保存Global中。Global以如下形式表示:^名称(下标1,下标2,下标3…)=值 
SET ^Y(3,6,7)=”third” 
SET ^Y(3,6,8)=”fourth” 
SET ^Y(3,6,7,8,4)=”fifth” 
SET ^Y(3,6,7,8,9)=”sixth” 
Global的树状结构如下: 
5.打开SQL storage map建立索引,点击add,选择map type为data,输入global名,一般为类名的大写 
这里写图片描述 
6.点击左侧data,选择add添加glabal的三条数据,用“^”隔开 
这里写图片描述 
7.点击左侧Subscripts,输入{p_RowID} 
这里写图片描述 
8.点击左侧Rowid,输入如图所示 
这里写图片描述 
9.这时就建立了一个主索引,通过rowid可以查询表数据 
这里写图片描述 
^PERSON(1)=xiaoming^18^man 
^PERSON是global名,(1)表示rowid为1,后面的数据位置根据data里的位置排列 
10.接下来,我们在建一个索引,在NewStorage1里add一个索引,map type选择index,输入global名 
这里写图片描述 
11.Subscripts建立如图所示,这里表示了global的四个层级,第一和第二层级是自己起的名字,方便理解global存储的信息,三四层是具体内容 
这里写图片描述 
12.rowid如图所示,是第四层 
这里写图片描述 
13.这个以名字建立的索引我们以global来理解 
^PERSONi(0,”name”,”xiaoming”,1)=0

最后

以上就是阔达小鸽子为你收集整理的cache数据库:对象方式的数据库访问的全部内容,希望文章能够帮你解决cache数据库:对象方式的数据库访问所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部