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); }
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); }
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); }