博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[原创]如何获得SBO的数据表中文描述和数据表的中文字段
阅读量:6616 次
发布时间:2019-06-24

本文共 1859 字,大约阅读时间需要 6 分钟。

有多个网友多次咨询如何获得SBO的数据表--包括系统表和用户自定义表的列表与中文描述,继而获得SBO的数据表结构特别是字段中文描述。
 
SBO在这方面提供了充分的数据表结构与字段属性提取接口,很容易得到上述要求的结果。
 
1、如何获得SBO的数据表中文描述?
 
首先定义个一个SBO数据表业务对象实例
SAPbobsCOM.SBObob boTable = fsSboCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoBridge) as SAPbobsCOM.SBObob;
 
然后获得此实例关联的数据表结构属性信息列表。
SAPbobsCOM.Recordset rsTable = boTable.GetTableList();
 
最后通过循环方式获得数据表结构信息,从而达到对所有数据表或者指定表结构信息的提取。
if (rsTable.Record__count > 0)
{
       rsTable.MoveFirst();
       while (!rsTable.EoF)
      {
           string strTableCode = rsTable.Fields.Item("Alias").Value.ToString();
           string strTableName = rsTable.Fields.Item("Description").Value.ToString().Trim();
          //在此进行数据表属性的相关操作吧
         rsFields.MoveNext();
    }
}
 
上面程序中的strTableCode和strTableName就是数据表名称和数据表的中文描述了。当然如果您使用的不是SBO中文版,其描述就是对应语言的数据表名称描述了。
 
2、如何获得SBO的数据表字段中文描述?
 
类似的,首先定一个SBO数据表字段业务对象。
SAPbobsCOM.SBObob boFields = fsSboCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoBridge) as SAPbobsCOM.SBObob;
 
获得此对象关联的用户兴趣表的字段属性列表
SAPbobsCOM.Recordset rsFields = boFields.GetTableFieldList(strTableCode);
 
下面的代码就不需要介绍了吧?!很好理解的。
if (rsFields.Record__count > 0)
{
     rsFields.MoveFirst();
     while (!rsFields.EoF)
     {
         string strFieldCode = rsFields.Fields.Item("FieldName").Value.ToString().Trim();
         string strFieldName = rsFields.Fields.Item("FieldDesc").Value.ToString().Trim().Trim();
         string strFieldLen = rsFields.Fields.Item("FieldLength").Value.ToString();
         string strFieldType = rsFields.Fields.Item("FieldType").Value.ToString();
         string strIsNull = rsFields.Fields.Item("IsNullable").Value.ToString();
         string strIsValid = rsFields.Fields.Item("IsValidValues").Value.ToString();
         string strLinkTo = rsFields.Fields.Item("LinkedTo").Value.ToString();
         //在此进行字段属性的相关操作吧
       rsFields.MoveNext();
    }
}
 
以上代码经本人在多个系统软件中反复调用,不存在任何问题。支持的开发平台包括VS 2003-2008,当然开发语言是C#;数据库可以是Sql 2000/2005;SBO可以使SBO 2004、2005、2007版本。
本文转自foresun  51CTO博客,原文链接:http://blog.51cto.com/foresun/176590,如需转载请自行联系原作者
你可能感兴趣的文章
分库分表的几种常见玩法及如何解决跨库查询等问题
查看>>
把GPS经纬度放入两个字符串,写入文件
查看>>
Java操作MongoDB实现CRUD
查看>>
给js文件传参数
查看>>
tomcat web.xml启动加载类
查看>>
Linux 配置SSH信任
查看>>
【九度OJ1352】|【剑指offer41】和为S的两个数字
查看>>
《android-文件大小》
查看>>
HTTPS的工作原理
查看>>
PhoneGap使用PushPlugin插件实现消息推送
查看>>
Boyer-Moore 算法介绍
查看>>
关于Java中的单例模式
查看>>
datepicker
查看>>
基于vCenter/ESXi平台CentOS 6.8系统虚拟机Oracle 12c RAC双节点数据库集群搭建
查看>>
CentOS 7输入startx无法启动图形化界面
查看>>
#51CTO学院四周年# 终于在这里遇到你
查看>>
百度首次公布云业务收入,同比增长超100%,跻身国内第三
查看>>
Java学习笔记 1—命名规则、数据类型、运算符
查看>>
FusionCharts入门教程,使用指南
查看>>
我的友情链接
查看>>