public void ConfiguraField(string Text, string Name, enmFieldType Type, int Size, bool Sensitive) { this.Text = Text; this.Name = Name; this.Type = Type; this.Size = Size; this.Sensitive = Sensitive; }
public override string GetConcatFields(string[] Fields, string AliasName, enmFieldType FieldType) { string con = ""; for (int i = 0; i < Fields.Length; i++) { con += Fields[i] + (i != Fields.Length - 1 ? "||" : ""); } return(" (" + con + ") as " + AliasName + " "); }
public void AddField(string FieldName, DateTime FieldValue, enmFieldType fDt) { switch (fDt) { case enmFieldType.DateTime: { AddCommand(FieldName, dbu.Quoted(FieldValue.ToString(dbu.dbFormat.DateTime))); break; } case enmFieldType.Date: { AddCommand(FieldName, dbu.Quoted(FieldValue.ToString(dbu.dbFormat.Date))); break; } case enmFieldType.Time: { AddCommand(FieldName, dbu.Quoted(FieldValue.ToString(dbu.dbFormat.Time))); break; } default: { AddCommand(FieldName, FieldValue.ToString()); break; } } }
private int GetSize(enmFieldType t) { switch (t) { case enmFieldType.String: return(240); case enmFieldType.Int: return(90); case enmFieldType.Decimal: return(120); case enmFieldType.Date: return(80); case enmFieldType.Time: return(60); case enmFieldType.DateTime: return(120); default: return(90); } }
private string GetFormat(enmFieldType t) { switch (t) { case enmFieldType.String: return(""); case enmFieldType.Int: return("0"); case enmFieldType.Decimal: return("#,##0.00"); case enmFieldType.Date: return("dd/MM/yyyy"); case enmFieldType.Time: return("HH:mm:ss"); case enmFieldType.DateTime: return("dd/MM/yyyy HH:mm:ss"); default: return(""); } }
public override string GetConvertField(string Field, enmFieldType FieldType) { switch (FieldType) { case enmFieldType.String: { return(" cast( " + Field + " as varchar(2000)) "); } case enmFieldType.Int: { return(" cast( " + Field + " as integer) "); } case enmFieldType.Decimal: { return(" cast( " + Field + " as decimal(18,4)) "); } case enmFieldType.Date: { return(" cast( " + Field + " as date) "); } case enmFieldType.Time: { return(" cast( " + Field + " as time) "); } case enmFieldType.DateTime: { return(" cast( " + Field + " as timestamp) "); } case enmFieldType.Bool: { return(" cast( " + Field + " as char(1)) "); } default: { return(" cast( " + Field + " as varchar(2000)) "); } } }
public override string GetConvertField(string Field, enmFieldType FieldType) { switch (FieldType) { case enmFieldType.String: { return(" cast(" + Field + " as char)"); } case enmFieldType.Int: { return(" cast(" + Field + " as decimal)"); } case enmFieldType.Decimal: { return(" cast(" + Field + " as decimal)"); } case enmFieldType.Date: { return(" cast(" + Field + " as date)"); } case enmFieldType.Time: { return(" cast(" + Field + " as time)"); } case enmFieldType.DateTime: { return(" cast(" + Field + " as datetime)"); } case enmFieldType.Bool: { return(" cast(" + Field + " as char)"); } default: { return(" cast(" + Field + " as char)"); } } }
private DataGridViewContentAlignment GetAlingnment(enmFieldType t) { switch (t) { case enmFieldType.String: return(DataGridViewContentAlignment.MiddleLeft); case enmFieldType.Int: return(DataGridViewContentAlignment.MiddleRight); case enmFieldType.Decimal: return(DataGridViewContentAlignment.MiddleRight); case enmFieldType.Date: return(DataGridViewContentAlignment.MiddleLeft); case enmFieldType.Time: return(DataGridViewContentAlignment.MiddleLeft); case enmFieldType.DateTime: return(DataGridViewContentAlignment.MiddleLeft); case enmFieldType.Bool: return(DataGridViewContentAlignment.MiddleCenter); default: return(DataGridViewContentAlignment.MiddleLeft); } }
public override string GetConvertField(string Field, enmFieldType FieldType) { throw new NotImplementedException(); }
public override string GetConcatFields(string[] Fields, string AliasName, enmFieldType FieldType) { throw new NotImplementedException(); }
public DbScriptType(Type SystemType, string DatabaseType, enmFieldType FieldType) { this.SystemType = SystemType; this.DatabaseType = DatabaseType; this.FieldType = FieldType; }
public string GetConcatFields(string[] Fields, string AliasName, enmFieldType FieldType) { return(cnn.db.GetConcatFields(Fields, AliasName, FieldType)); }
public FieldColumn(string Text, string Name, enmFieldType Type, int Size, bool Sensitive) { ConfiguraField(Text, Name, Type, Size, Sensitive); }
public FieldColumn(string Text, string Name, enmFieldType Type, int Size) { ConfiguraField(Text, Name, Type, Size, false); }
//Criar mais versões desta função public void SalveScriptUpdate(DataTable tb, string FileName, string[] ColumnsConditions) { TextFile tf = new TextFile(); tf.Open(enmOpenMode.Writing, FileName); DataSource ds = new DataSource(tb); for (int i = 0; i < ds.Count; i++) { if (OnScriptWriting != null) { OnScriptWriting(i, ds.Count); } string Condition = ""; #region Gera condição if (ColumnsConditions.Length != 0) { Condition = "WHERE "; for (int j = 0; j < ColumnsConditions.Length; j++) { string col_name = ColumnsConditions[j]; enmFieldType ft = cnn.dbu.GetFieldType(GetDataType(col_name, ds)); switch (ft) { case enmFieldType.Int: { Condition += col_name + " = " + ds.GetField(i, col_name).ToString(); break; } case enmFieldType.Decimal: { Condition += col_name + " = " + ds.GetField(i, col_name).ToDecimal().ToString(cnn.dbu.dbFormat.Decimal).Replace(",", "."); break; } case enmFieldType.DateTime: { DateTime val = ds.GetField(i, col_name).ToDateTime(); bool IsDate = val.ToString("dd/MM/yyyy") != DateTime.MinValue.ToString("dd/MM/yyyy"); bool IsTime = val.ToString("HH:mm:ss") != "00:00:00"; string DtFormat = cnn.dbu.dbFormat.DateTime; if (IsDate && !IsTime) { DtFormat = cnn.dbu.dbFormat.Date; } if (!IsDate && IsTime) { DtFormat = cnn.dbu.dbFormat.Date; } Condition += col_name + " = " + ds.GetField(i, col_name).ToString(DtFormat); break; } case enmFieldType.Bool: { Condition += col_name + " = " + (ds.GetField(i, col_name).ToBool() ? "1" : "0"); break; } default: { Condition += col_name + " = " + cnn.dbu.Quoted(ds.GetField(i, col_name).ToString()); break; } } if (j != (ColumnsConditions.Length - 1)) { Condition += " AND "; } } } #endregion sb.Clear(); sb.Table = tb.TableName; AtribuiCampos(i, ds, ColumnsConditions, true); tf.WriteLine(sb.getUpdate(Condition) + ";"); } tf.Close(); }
public abstract DbCommandBuilder GetCommandBuilder(DbDataAdapter Adapter); //Retorna um Data Adapter específico para o driver public abstract string GetConcatFields(string[] Fields, string AliasName, enmFieldType FieldType); //retorna um conjunto de campos concatenados
public void Alter(int Index, object p, enmFieldType FieldType) { while (Index > (Params.Count - 1)) { AddCommand("null"); } if (p == null) { return; } switch (FieldType) { case enmFieldType.Int: { this.Params[Index] = p.ToString(); break; } case enmFieldType.Decimal: { this.Params[Index] = cnv.ToDecimal(p).ToString(this.dbu.dbFormat.Decimal).Replace(",", "."); break; } case enmFieldType.Bool: { this.Params[Index] = cnv.ToBool(p) ? "1" : "0"; break; } case enmFieldType.String: { this.Params[Index] = dbu.Quoted(p.ToString()); break; } case enmFieldType.DateTime: { string pValue = cnv.ToDateTime(p).ToString(this.dbu.dbFormat.DateTime); this.Params[Index] = this.dbu.Quoted(pValue); break; } case enmFieldType.Date: { string pValue = cnv.ToDateTime(p).ToString(this.dbu.dbFormat.Date); this.Params[Index] = this.dbu.Quoted(pValue); break; } case enmFieldType.Time: { string pValue = cnv.ToDateTime(p).ToString(this.dbu.dbFormat.Time); this.Params[Index] = this.dbu.Quoted(pValue); break; } default: this.Params[Index] = p.ToString(); break; } }
public void Add(object p, enmFieldType FieldType) { Alter(Params.Count, p, FieldType); }
public string GetConvertField(string Field, enmFieldType FieldType) { return(cnn.db.GetConvertField(Field, FieldType)); }
public abstract string GetConcatFields(string[] Fields, string AliasName, enmFieldType FieldType); //retorna um conjunto de campos concatenados public abstract string GetConvertField(string Field, enmFieldType FieldType); //retorna o comando para converter um campo
private void AtribuiCampos(int Row, DataSource ds, string[] Exceptions, bool UpdateMode) { #region Campos for (int j = 0; j < ds.Columns.Count; j++) { string col_name = ds.Columns[j].ColumnName; if (ExistsInList(Exceptions, col_name)) { continue; } //enmFieldType ft = cnn.dbu.GetFieldType(ds.Columns[j].DataType); enmFieldType ft = DbScriptTypeList.GetFieldType(ds.Columns[j].DataType); //Não atribui campos quando são valores default //para não dar problemas com chaves estrangeiras if (ds.GetField(Row, col_name) == null) { sb.AddField(col_name, null); continue; } // Precisa corrigir esta linha , está travada para colocar todos os campos no insert UpdateMode = true; switch (ft) { case enmFieldType.Int: { int Val = ds.GetField(Row, col_name).ToInt(); if (Val != 0 || UpdateMode) { sb.AddField(col_name, Val); } break; } case enmFieldType.Long: { long Val = ds.GetField(Row, col_name).ToLong(); if (Val != 0 || UpdateMode) { sb.AddField(col_name, Val); } break; } case enmFieldType.Decimal: { decimal Val = ds.GetField(Row, col_name).ToDecimal(); if (Val != 0 || UpdateMode) { sb.AddField(col_name, Val); } break; } case enmFieldType.DateTime: { DateTime val = ds.GetField(Row, col_name).ToDateTime(); if (val == DateTime.MinValue) { if (UpdateMode) { sb.AddField(col_name, null); } break; } bool IsDate = val.ToString("dd/MM/yyyy") != DateTime.MinValue.ToString("dd/MM/yyyy"); bool IsTime = val.ToString("HH:mm:ss") != "00:00:00"; if (IsDate && IsTime) { sb.AddField(col_name, val, enmFieldType.DateTime); break; } else if (IsDate && !IsTime) { sb.AddField(col_name, val, enmFieldType.Date); break; } else if (!IsDate && IsTime) { sb.AddField(col_name, val, enmFieldType.Time); break; } break; } case enmFieldType.Bool: { bool Val = ds.GetField(Row, col_name).ToBool(); if (Val != false || UpdateMode) { sb.AddField(col_name, Val); } break; } default: { if (!string.IsNullOrEmpty(col_name) || UpdateMode) { string Val = ds.GetField(Row, col_name).ToString(); if (!string.IsNullOrEmpty(Val)) { Val = Val.Trim(); } sb.AddField(col_name, Val); } break; } } } #endregion }