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; }
protected virtual void FillPrimaryKey(DBTable table) { OleDbDataReader rdPK = OleDbHelper.ExecuteReader(this.OleDbConnStr, string.Format(this.Format_GET_ALL_PrimaryKeys, table.TableName)); while (rdPK.Read()) { string columnName = rdPK["COLUMN_NAME"].ToString(); DBColumn column = table.Columns.Where(row => row.ColumnName == columnName).FirstOrDefault(); if (column != null) { table.SetPrimaryKey(column, false, 0, 0, 1); } } rdPK.Close(); rdPK.Dispose(); }
protected virtual void FillFields(DBTable table) { OleDbDataReader rd = OleDbHelper.ExecuteReader(this.OleDbConnStr, string.Format(this.Format_GET_ALL_FIELDS, table.TableName)); List<DBColumn> fields = new List<DBColumn>(); while (rd.Read()) { try { DBColumn column = new DBColumn(rd["fieldName"].ToString()); string fieldType = rd["fieldType"].ToString(); if (this.DataBaseType == DataBaseType.MSSQL) { column.DbType = ((SqlDbType)Enum.Parse(typeof(SqlDbType), fieldType, true)).ToJFielType(); } else { column.DbType = ((OracleType)Enum.Parse(typeof(OracleType), fieldType, true)).ToJFielType(); } 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; }
protected virtual void FillForeignKey(DBTable table) { OleDbDataReader rdfk = OleDbHelper.ExecuteReader(this.OleDbConnStr, string.Format(this.Format_GET_ALL_ForeignKeys, table.TableName)); 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(); }
protected override void FillPrimaryKey(DBTable table) { OleDbDataReader rdPK = OleDbHelper.ExecuteReader(this.OleDbConnStr, string.Format(this.Format_GET_ALL_PrimaryKeys, table.TableName)); //List<DBColumn> fields = new List<DBColumn>(); OleDbDataReader rdIdentity = OleDbHelper.ExecuteReader(this.OleDbConnStr, string.Format(format_GetAllIdentityColumn, table.TableName)); 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(); }