private ColumnStructure FindeColumnByName(string columnName, DataBaseStructure inDatabase) { ColumnStructure outColumn = new ColumnStructure("ERROR"); foreach (TableStructure inDatabaseTable in inDatabase.Tables) { foreach (ColumnStructure column in inDatabaseTable.Columns) { if (column.OldName == columnName) { outColumn = column; } else { if (column.Name == columnName) { outColumn = column; } } } } if (outColumn.Name == "ERROR") { // MessageBox.Show(this.GetType().Name + "FindeColumnByName"); } return(outColumn); }
public AsTypeCalculator(string mathExpression, DataBaseStructure inDatabase, string aggregationFunctionName, List <ColumnStructure> columns) { _mathExpression = mathExpression; _inDatabase = inDatabase; _aggregationFunctionName = aggregationFunctionName; _columns = columns; }
private S_Type FindeByName(DataBaseStructure inDb, string typeName) { S_Type output = null; foreach (S_Type type in inDb.Types) { if (type.Name == typeName) { output = type; break; } } return(output); }
public string BuildSqlCommand(DataBaseStructure db, DbCommand c, ref int counter) { var t = new object[Params.Count]; for (int i = 0; i < t.Length; i++) { var val = Params[i]; var p = c.CreateParameter(); p.ParameterName = (++counter).ToString(); p.Value = val; t[i] = "@" + p.ParameterName; c.Parameters.Add(p); } return(string.Format(FormatCommand.ToString(), t)); }
public void FindeTable(DataBaseStructure db) {//кривой цикл продумать лучше. Попробовать сделать через Column.Table _asTables = new List <TableStructure>(); _asRightColumn = new ColumnStructure(_asRightName); _asRightColumn.Size = -1; foreach (var col in _asColumnList) //определение типа столбца { foreach (var tb in db.Tables) { foreach (var cl in tb.Columns) { if (col == cl.Name) { _asTables.Add(tb); if (_asRightColumn.Size < cl.Size) { _asRightColumn.Size = cl.Size; _asRightColumn.TypeID = cl.TypeID; _asRightColumn.Type = cl.Type; } } } } } _asTables = _asTables.Distinct().ToList(); if (_asTables.Count == 1) { _isSelectPart = true; _table = _asTables[0].Name; //переделать в структуру. _asRightColumn.IsRenamed = true; _asRightColumn.OldName = _asRightColumn.Name; _asRightColumn.Name = _asTables[0].ShortName + _asRightName; } else { _isSelectPart = false; _table = "Error! _asTables.Count"; } }
public abstract void UpdateLogins(DataBaseStructure database);
public NewSortStructure(string name, BaseRule sortRule, DataBaseStructure fullDataBase, int DELETER) { _name = name; _sortRule = sortRule; _sortRule.Text += ";"; _sortRule.IsRealised = true; _inDataBase = fullDataBase; ParseTreeWalker walker = new ParseTreeWalker(); walker.Walk(_listener, sortRule.Context); _asStructures = _listener.AsStructures; _asStructures.Reverse(); List <TableStructure> tmpTableList = new List <TableStructure>(); List <ColumnStructure> tmpColumnList = new List <ColumnStructure>(); List <ColumnStructure> orderedColumnList = new List <ColumnStructure>(); foreach (TableStructure inTable in _inDataBase.Tables) { foreach (ColumnStructure inColumn in inTable.Columns) { foreach (string columnName in _listener.SelectColumnNames) { if (columnName == inColumn.Name) { tmpColumnList.Add(inColumn); } } } //if (tmpColumnList.Count > 0) //{ // tmpTableList.Add(new TableStructure(inTable.Name, tmpColumnList.ToArray())); //} } foreach (string columnName in _listener.SelectAsRightColumns) { foreach (SchemeAsStructure asStructure in _asStructures) { asStructure.FillAsStructure(_inDataBase); asStructure.FillCrossAsStructutre(_asStructures, _inDataBase); if (asStructure.AsRightColumn.Name == columnName) { tmpColumnList.Add(asStructure.AsRightColumn); } } } foreach (string columnName in _listener.SelectColumnNames) { foreach (SchemeAsStructure asStructure in _asStructures) { asStructure.FillAsStructure(_inDataBase); asStructure.FillCrossAsStructutre(_asStructures, _inDataBase); if (asStructure.AsRightColumn.Name == columnName) { tmpColumnList.Add(asStructure.AsRightColumn); } } } foreach (string orderColumn in _listener.SelectColumnsOrded) { foreach (ColumnStructure column in tmpColumnList) { if (orderColumn == column.Name) { orderedColumnList.Add(column); } } } //tmpColumnList = orderedColumnList; if (tmpColumnList.Count > 0) { tmpTableList.Add(new TableStructure("SORT_OUT_TABLE", tmpColumnList.ToArray())); } if (tmpTableList.Count > 0) { _outDataBase = new DataBaseStructure("SORT_OUT_DB", tmpTableList.ToArray(), _inDataBase.Types); } for (int i = 0; i < _outDataBase.Tables[0].Columns.Length; i++) { if (_outDataBase.Tables[0].Columns[i].Type != null) { _createTableColumnNames += _outDataBase.Tables[0].Columns[i].Name + " " + _outDataBase.Tables[0].Columns[i].Type.Name; } else { _createTableColumnNames += _outDataBase.Tables[0].Columns[i].Name + " " + "INTEGER"; } if (i < _outDataBase.Tables[0].Columns.Length - 1) { _createTableColumnNames += ",\r\n"; } } _sortRule.IsRealised = false; _output = _sortRule.Text + ";"; //SetIndexes(); }
public DatabaseUpdator(DataBaseStructure d) => this.d = d;
protected abstract void GetOwner(DataBaseStructure d, Path c);
public string BuildSqlCommand(DataBaseStructure db, System.Data.Common.DbCommand c) { var i = 0; return(BuildSqlCommand(db, c, ref i)); }
public string BuildSqlCommand(DataBaseStructure db, System.Data.Common.DbCommand c, ref int i) { return(Operation == SqlOperation.Update ? Data.GetUpdate(c, ref i) : Operation == SqlOperation.Insert ? Data.GetInsert(c, ref i) : Data.GetDelete(c)); }
public SchemeCreator(DataBaseStructure inDataBase, List <SelectStructure> inSelectStructures) { _inDatabase = inDataBase; _inSelectStructures = inSelectStructures; }
public JoinOptimizer(List <List <JoinStructure> > inputJoins, DataBaseStructure inDatabase) { _inputJoinSequences = inputJoins; _inDataBase = inDatabase; }