Exemple #1
0
        /// <summary>
        /// 转换SAP类型为NET类型。
        /// </summary>
        /// <param name="dt"></param>
        private static void _TransFormDataTypeForDt(DataTable dt)
        {
            bool has_inttype_column    = false;
            bool has_dotnettype_column = false;
            bool has_dbtype_column     = false;
            bool has_sqltype_column    = false;

            if (dt.Columns.Contains("INTTYPE"))
            {
                has_inttype_column = true;
            }
            if (dt.Columns.Contains("DOTNETTYPE"))
            {
                has_dotnettype_column = true;
            }
            if (dt.Columns.Contains("DBTYPE"))
            {
                has_dbtype_column = true;
            }
            if (dt.Columns.Contains("SQLTYPE"))
            {
                has_sqltype_column = true;
            }

            foreach (DataRow row in dt.Rows)
            {
                if (has_inttype_column && has_dotnettype_column)
                {
                    row["DOTNETTYPE"] = RfcTypeConvertor.AbapInnerTypeToSystemType(row["INTTYPE"].ToString()).ToString();
                    Type e = Type.GetType(row["DOTNETTYPE"].ToString());

                    row["DOTNETTYPE"] = row["DOTNETTYPE"].ToString().Replace("System.", "");
                    if (row["DOTNETTYPE"].ToString().Contains("Int"))
                    {
                        row["DOTNETTYPE"] = "int";
                    }


                    if (has_dbtype_column)
                    {
                        row["DBTYPE"] = SAPINT.DbHelper.DbTypeConvertor.ToDbType(e).ToString();
                    }
                    if (has_sqltype_column)
                    {
                        row["SQLTYPE"] = SAPINT.DbHelper.DbTypeConvertor.ToSqlDbType(e).ToString();
                    }
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// 把SAP类型转换成对应的NET类型。
 /// </summary>
 public void TransformDataType()
 {
     if (Fields == null)
     {
         return;
     }
     Fields.ForEach(row =>
     {
         row.DOTNETTYPE = RfcTypeConvertor.AbapInnerTypeToSystemType(row.INTTYPE).ToString();
         Type e         = Type.GetType(row.DOTNETTYPE);
         row.DOTNETTYPE.Replace("System.", "");
         if (row.DOTNETTYPE.Contains("Int"))
         {
             row.DOTNETTYPE = "int";
         }
         row.DBTYPE  = SAPINT.DbHelper.DbTypeConvertor.ToDbType(e).ToString();
         row.SQLTYPE = SAPINT.DbHelper.DbTypeConvertor.ToSqlDbType(e).ToString();
     });
 }