private static void _parse_schema_info(ref IDataReader reader, ref List <SchemaInfo> retItems)
        {
            while (reader.Read())
            {
                try
                {
                    SchemaInfo si = new SchemaInfo();

                    if (!string.IsNullOrEmpty(reader["Table"].ToString()))
                    {
                        si.Table = (string)reader["Table"];
                    }
                    if (!string.IsNullOrEmpty(reader["Column"].ToString()))
                    {
                        si.Column = (string)reader["Column"];
                    }
                    if (!string.IsNullOrEmpty(reader["IsPrimaryKey"].ToString()))
                    {
                        si.IsPrimaryKey = (bool)reader["IsPrimaryKey"];
                    }
                    if (!string.IsNullOrEmpty(reader["IsIdentity"].ToString()))
                    {
                        si.IsIdentity = (bool)reader["IsIdentity"];
                    }
                    if (!string.IsNullOrEmpty(reader["IsNullable"].ToString()))
                    {
                        si.IsNullable = (bool)reader["IsNullable"];
                    }
                    if (!string.IsNullOrEmpty(reader["MaxLength"].ToString()))
                    {
                        si.MaxLength = (int)reader["MaxLength"];
                    }
                    if (!string.IsNullOrEmpty(reader["Order"].ToString()))
                    {
                        si.Order = (int)reader["Order"];
                    }
                    if (!string.IsNullOrEmpty(reader["DefaultValue"].ToString()))
                    {
                        si.DefaultValue = (string)reader["DefaultValue"];
                    }

                    MSSQLDataType dt = MSSQLDataType.None;
                    if (!string.IsNullOrEmpty(reader["DataType"].ToString()) &&
                        Enum.TryParse <MSSQLDataType>((string)reader["DataType"], true, out dt))
                    {
                        si.DataType = dt;
                    }

                    retItems.Add(si);
                }
                catch { }
            }

            if (!reader.IsClosed)
            {
                reader.Close();
            }
        }
Exemple #2
0
        private static string resolve_data_type(MSSQLDataType type, int?maxLength, bool?identity)
        {
            string strMaxLength = !maxLength.HasValue || maxLength.Value <= 0 ?
                                  string.Empty : "(" + maxLength.Value.ToString() + ")";

            string retStr = string.Empty;

            switch (type)
            {
            case MSSQLDataType.INT:
                retStr = identity.HasValue && identity.Value ? "SERIAL" : "INTEGER";
                break;

            case MSSQLDataType.BIGINT:
                retStr = identity.HasValue && identity.Value ? "BIGSERIAL" : "BIGINT";
                break;

            case MSSQLDataType.FLOAT:
                retStr = "FLOAT";
                break;

            case MSSQLDataType.BIT:
                retStr = "BOOLEAN";
                break;

            case MSSQLDataType.CHAR:
                retStr = "CHAR";
                break;

            case MSSQLDataType.DATETIME:
                retStr = "TIMESTAMPTZ";
                break;

            case MSSQLDataType.VARCHAR:
                retStr = "VARCHAR" + strMaxLength;
                break;

            case MSSQLDataType.NVARCHAR:
                retStr = "VARCHAR" + strMaxLength;
                break;

            case MSSQLDataType.VARBINARY:
                retStr = "BYTEA";
                break;

            case MSSQLDataType.UNIQUEIDENTIFIER:
                retStr = "UUID";
                break;

            default:
                retStr = string.Empty;
                break;
            }

            return(retStr);
        }
Exemple #3
0
        private CodeSnippetExpression GetDataType(string type)
        {
            IDataType             de = null;
            CodeSnippetExpression cs = new CodeSnippetExpression();

            switch (this.mOption.DataBaseType)
            {
            case AccessDataBaseType.MsSql:
                de = new MSSQLDataType();
                break;

            case AccessDataBaseType.Access:
                de = new AccessDataType();
                break;
            }
            cs = de.GetDataType(type);

            return(cs);
        }
Exemple #4
0
 public SchemaInfo()
 {
     DataType = MSSQLDataType.None;
 }