public JTable(DBTable dbTable, string connStr) : this() { this.TableName = dbTable.TableName; this.Fields = new List<JField>(); foreach (var item in dbTable.Columns) { JField field = new JField(item); this.Fields.Add(field); } if (dbTable.PrimaryKey != null) this.Fields.Add(new JField(dbTable.PrimaryKey)); foreach (var fk in dbTable.ForeignKeys) { this.Fields.Add(new JField(fk)); } this.ConnStr = connStr; }
private void FillForeignKey(DBTable table) { SqlDataReader rdfk = SqlHelper.ExecuteReader(new SqlConnection(this.ConnStr), CommandType.Text, string.Format(format_getAllForeignKeyByTable, table.TableName), null); while (rdfk.Read()) { string columnName = rdfk["columnName"].ToString(); string refTableName = rdfk["refTableName"].ToString(); string refColumnName = rdfk["refColumnName"].ToString(); DBColumn column = table.Columns.Where(row => row.ColumnName == columnName).FirstOrDefault(); table.AddForeignKey(column, refTableName, refColumnName); } rdfk.Close(); rdfk.Dispose(); }
private void FillPrimaryKey(DBTable table) { SqlDataReader rdPK = SqlHelper.ExecuteReader(new SqlConnection(this.ConnStr), CommandType.Text, string.Format(format_getAllPrimaryKey, table.TableName), null); //List<DBColumn> fields = new List<DBColumn>(); SqlDataReader rdIdentity = SqlHelper.ExecuteReader(new SqlConnection(this.ConnStr), CommandType.Text, string.Format(format_GetAllIdentityColumn, table.TableName), null); string identityColumnName = ""; if (rdIdentity.HasRows) { identityColumnName = rdIdentity["Iden_Column_name"].ToString(); } rdIdentity.Close(); rdIdentity.Dispose(); while (rdPK.Read()) { string columnName = rdPK["COLUMN_NAME"].ToString(); DBColumn column = table.Columns.Where(row => row.ColumnName == columnName).FirstOrDefault(); if (column != null) { if (columnName == identityColumnName) { table.SetPrimaryKey( column , true , int.Parse(rdIdentity["seed_value"].ToString()) , int.Parse(rdIdentity["curr_value"].ToString()) , int.Parse(rdIdentity["incr_value"].ToString()) ); } else { table.SetPrimaryKey(column, false, 0, 0, 1); } } } rdPK.Close(); rdPK.Dispose(); //table.Columns = fields; }
private void FillFields(DBTable table) { SqlDataReader rd = SqlHelper.ExecuteReader(new SqlConnection(this.ConnStr), CommandType.Text, string.Format(format_getAllFields, table.TableName), null); List<DBColumn> fields = new List<DBColumn>(); while (rd.Read()) { try { DBColumn column = new DBColumn(rd["fieldName"].ToString()); string sqlDBType = rd["fieldType"].ToString(); column.DbType = (SqlDbType)Enum.Parse(typeof(SqlDbType), sqlDBType, true); column.Length = int.Parse(rd["fieldLength"].ToString()); column.AllowNull = rd["allowNull"].ToString() == "1" ? true : false; fields.Add(column); } catch (Exception ex) { } } rd.Close(); rd.Dispose(); table.Columns = fields; }