[原创]如何获得SBO的数据表中文描述和数据表的中文字段
2009-07-11 18:44
405 查看
有多个网友多次咨询如何获得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版本。
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版本。
相关文章推荐
- 如何获得SBO中数据表的中文注释与字段的中文说明
- 如何得到数据库中所有表字段及字段中文描述
- 如何得到数据库中所有表字段及字段中文描述
- 如何得到数据库中所有表名,表字段及字段中文描述
- 如何得到数据库中所有表名 表字段及字段中文描述
- 如何得到数据库中所有表字段及字段中文描述
- 如何导出SAP的数据表字段和字段描述
- 如何得到数据库中所有表字段及字段中文描述
- 如何得到数据库中所有表名 表字段及字段中文描述
- hibernate使用createQuery(hql)语句仅查询部分字段,应如何获得数据
- 如何得到数据库中所有表字段及字段中文描述
- 如何得到数据库中所有表名 表字段及字段中文描述
- 如何获得C4C里某个code字段对应的描述信息
- 如何得到数据库中所有表字段及字段中文描述
- 【原创】C#.Net 中枚举类型的数据在PropertyGrid控件中的显示中文描述
- powerdesign 下ER模型中展示数据注释中文列 以及如何 查找字段
- Excel数据字典转换为PDM(且显示表名、字段对应的中文描述)
- 如何得到数据库中所有表字段及字段中文描述
- 【原创】如何获得近10年的1分钟完整历史数据并导入MT4
- hibernate如何对Blob类型字段进行数据添加