[原創]如何獲得SBO的資料表中文描述和資料表的中文欄位
有多個網友多次諮詢如何獲得SBO的資料表–包括系統表和使用者自定義表的列表與中文描述,繼而獲得SBO的資料表結構特別是欄位中文描述。
SBO在這方面提供了充分的資料表結構與欄位屬性提取介面,很容易得到上述要求的結果。
1、如何獲得SBO的資料表中文描述?
首先定義個一個SBO資料表業務物件例項
SAPbobsCOM.SBObob boTable = fsSboCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoBridge) as SAPbobsCOM.SBObob;
然後獲得此例項關聯的資料表結構屬性資訊列表。
SAPbobsCOM.Recordset rsTable = boTable.GetTableList();
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();
//在此進行資料表屬性的相關操作吧
{
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);
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.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,如需轉載請自行聯絡原作者
相關文章
- 獲取表的結構、欄位描述等
- 水晶報表中文資料
- 怎樣獲得資料表中某個欄位的第二個最大值
- postgresql分割槽表修改資料表欄位SQL
- oracle 資料庫設定表和欄位的別名Oracle資料庫
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- 【轉】修改表的欄位資料型別的方法資料型別
- MySQL之資料庫和表的基本操作(建立表、刪除表、向表中新增欄位)MySql資料庫
- [原創] mysql表欄位多少限定MySql
- 如何較方便給上百張資料庫表新增表欄位資料庫
- 資料庫表欄位命名規範資料庫
- 獲取sql server資料庫中所有庫、表、欄位名的方法SQLServer資料庫
- ASP獲取資料庫表名,欄位名以及對欄位的一些操作 (轉)資料庫
- 如何自行查詢出 SAP ABAP 標準的 OData 服務返回資料的後臺資料庫表和表欄位名稱資料庫
- 保留資料庫表中的資料,把表中的欄位varchar2改成clob型別資料庫型別
- ODI基於源表時間戳欄位獲取增量資料時間戳
- C#+arcengine獲得柵格資料的屬性表C#
- 對資料庫中的表或欄位重新命名資料庫
- 2020年在美國獲得專利最多的公司(附原資料表)
- 【SQL】如何獲得表及欄位的說明資訊(comment)的建立指令碼SQL指令碼
- hive將查詢資料插入表中某欄位無資料Hive
- Python SqlAlchemy動態新增資料表欄位PythonSQL
- mysql 資料庫 表 欄位 編碼修改 方法MySql資料庫
- SQL SERVER 資料庫查詢表和欄位資訊語句SQLServer資料庫
- 如何查詢某個資料表中除某個欄位的所有資訊???
- mysql 如何替換資料表欄位字串中指定單詞的內容MySql字串
- 獲取SQL資料庫中某個表中的所有欄位名稱的通用方法SQL資料庫
- 位運算-設計資料庫表的多選狀態欄位資料庫
- SQL SERVER 查詢表的欄位名、資料型別和最大長度SQLServer資料型別
- ABAP 資料庫表 Size Category 欄位的準確含義資料庫Go
- 【GP】透過資料字典檢視某個表的欄位
- 【原創】通過資料字典操作刪除表的列
- 資料表的設計原則
- 如何檢視型別為LRAW的SAP ABAP資料庫表欄位的內容型別資料庫
- Oracle 11g 向表中大欄位插入資料Oracle
- Oracle-不刪表資料,修改欄位型別Oracle型別
- 如何獲得C4C裡某個code欄位對應的描述資訊
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別