private Column GetColumns(DataRow row) { var column = new Column(); column.Name = row[1] as string; column.Type = row[2] as string; column.Length = Convert.ToInt16(row[3]); column.IsNullable = Convert.ToInt32(row[4]) == 0; column.Scale = Convert.ToByte(row[5]); column.Precision = Convert.ToByte(row[6]); column.IsPrimaryKey = Convert.ToInt32(row[7]) == 1; column.Default = row[8] as string; if (column.Default.StartsWith("((")) column.Default = column.Default.Substring(1, column.Default.Length - 2); return column; }
private List<Column> GetColumns(SqlDataReader reader) { var list = new List<Column>(); while (reader.Read()) { var column = new Column(); column.Name = reader.GetString(0); column.Type = reader.GetString(1); column.Length = reader.GetInt16(2); column.IsNullable = reader.GetInt32(3) == 0; if (reader.FieldCount >= 5) { column.Scale = reader.GetByte(4); column.Precision = reader.GetByte(5); column.IsPrimaryKey = reader.GetInt32(6) == 1; column.Default = reader.GetString(7); if (column.Default.StartsWith("((")) column.Default = column.Default.Substring(1, column.Default.Length - 2); } list.Add(column); } return list; }
private List<Column> GetColumns(string sql) { var list = new List<Column>(); using (var com = con.CreateCommand()) { com.CommandText = sql; using (var reader = com.ExecuteReader()) { while (reader.Read()) { var column = new Column(); column.Name = reader.GetString(0); column.Type = reader.GetString(1); column.Length = reader.GetInt16(2); column.IsNullable = reader.GetInt32(3) == 0; if (reader.FieldCount >= 5) { column.Scale = reader.GetByte(4); column.Precision = reader.GetByte(5); column.IsPrimaryKey = reader.GetInt32(6) == 1; column.Default = reader.GetString(7); if (column.Default.StartsWith("((")) column.Default = column.Default.Substring(1, column.Default.Length - 2); } list.Add(column); } reader.Close(); } } return list; }