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

            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.IsKeyField = true;
                }
            }

            model.TableName = SchemeHelper.GetString(r["TABLE_NAME"]);
            return(model);
        }
Esempio n. 2
0
        private static Model.Table GetTable(DBUtility.DBHelper dbHelper, string dbName, DataRow rTable)
        {
            string tableName = rTable[0].ToString();

            Model.Table table = new Model.Table();
            table.Name = tableName;

            // 对每个表取字段属性
            DataSet dsColumns = dbHelper.ExecuteQuery(CommandType.Text,
                                                      string.Format("select * from COLUMNS where TABLE_SCHEMA='{0}' and TABLE_NAME='{1}'", dbName, tableName),
                                                      null);

            foreach (DataRow rField in dsColumns.Tables[0].Rows)
            {
                Model.Field field = new Model.Field();
                field.IsIdentifier = rField["EXTRA"].ToString().ToLower() == "auto_increment";
                field.IsKeyField   = rField["COLUMN_KEY"].ToString().ToLower() == "pri";
                field.AllowNull    = rField["IS_NULLABLE"].ToString().ToLower() == "yes";

                field.MySqlTypeString = SchemeHelper.GetString(rField["DATA_TYPE"]);
                field.DefaultValue    = SchemeHelper.GetString(rField["COLUMN_DEFAULT"]);
                field.FieldDescn      = SchemeHelper.GetString(rField["COLUMN_COMMENT"]);
                field.FieldLength     = SchemeHelper.GetLong(rField["CHARACTER_MAXIMUM_LENGTH"]);
                field.FieldName       = SchemeHelper.GetString(rField["COLUMN_NAME"]);
                field.FieldNumber     = SchemeHelper.GetInt(rField["ORDINAL_POSITION"]);
                table.Fields.Add(field);
            }
            return(table);
        }
Esempio n. 3
0
 private Model.Field GetField(DataRow r)
 {
     Model.Field model = new Model.Field();
     model.AllowNull     = SchemeHelper.GetBool(r["AllowNull"]);
     model.DefaultValue  = SchemeHelper.GetString(r["DefaultValue"]);
     model.FieldDescn    = SchemeHelper.GetString(r["FieldDescn"]);
     model.FieldLength   = SchemeHelper.GetInt(r["FieldLength"]);
     model.FieldName     = SchemeHelper.GetString(r["FieldName"]);
     model.FieldNumber   = SchemeHelper.GetInt(r["FieldNumber"]);
     model.FieldSize     = SchemeHelper.GetInt(r["FieldSize"]);
     model.SqlTypeString = SchemeHelper.GetString(r["FieldType"]);
     model.IsIdentifier  = SchemeHelper.GetBool(r["IsIdentifier"]);
     model.IsKeyField    = SchemeHelper.GetBool(r["IsKeyField"]);
     model.TableName     = SchemeHelper.GetString(r["TableName"]);
     return(model);
 }