Ejemplo n.º 1
0
        private Model.Field GetField(string connectionString, string tbName, DataRow r)
        {
            Model.Field model = new Model.Field();
            model.AllowNull    = SchemaHelper.GetBool(r["IS_NULLABLE"]);
            model.DefaultValue = SchemaHelper.GetString(r["COLUMN_DEFAULT"]);
            model.FieldDescn   = SchemaHelper.GetString(r["DESCRIPTION"]);
            model.FieldName    = SchemaHelper.GetString(r["COLUMN_NAME"]);
            model.FieldNumber  = SchemaHelper.GetInt(r["ORDINAL_POSITION"]);
            model.FieldSize    = SchemaHelper.GetInt(r["CHARACTER_OCTET_LENGTH"]);
            model.FieldType    = SchemaHelper.GetString(r["DATA_TYPE"]);
            model.FieldLength  = SchemaHelper.GetInt(r["CHARACTER_MAXIMUM_LENGTH"]);
            model.IsId         = SchemaHelper.GetInt(r["COLUMN_FLAGS"]) == 90 && SchemaHelper.GetInt(r["DATA_TYPE"]) == 3;

            DataTable dtPrimanyKey = GetDbSchema(connectionString, OleDbSchemaGuid.Primary_Keys, null);

            foreach (DataRow rp in dtPrimanyKey.Rows)
            {
                if (rp[2].ToString() == tbName && rp[3].ToString() == model.FieldName)
                {
                    model.IsKey = true;
                }
            }
            return(model);
        }