Example #1
0
 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;
 }
Example #2
0
        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 + " ");
        }
Example #3
0
        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; }
            }
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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("");
            }
        }
Example #6
0
        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)) "); }
            }
        }
Example #7
0
        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)"); }
            }
        }
Example #8
0
        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);
            }
        }
Example #9
0
 public override string GetConvertField(string Field, enmFieldType FieldType)
 {
     throw new NotImplementedException();
 }
Example #10
0
 public override string GetConcatFields(string[] Fields, string AliasName, enmFieldType FieldType)
 {
     throw new NotImplementedException();
 }
Example #11
0
 public DbScriptType(Type SystemType, string DatabaseType, enmFieldType FieldType)
 {
     this.SystemType   = SystemType;
     this.DatabaseType = DatabaseType;
     this.FieldType    = FieldType;
 }
Example #12
0
 public string GetConcatFields(string[] Fields, string AliasName, enmFieldType FieldType)
 {
     return(cnn.db.GetConcatFields(Fields, AliasName, FieldType));
 }
Example #13
0
 public FieldColumn(string Text, string Name, enmFieldType Type, int Size, bool Sensitive)
 {
     ConfiguraField(Text, Name, Type, Size, Sensitive);
 }
Example #14
0
 public FieldColumn(string Text, string Name, enmFieldType Type, int Size)
 {
     ConfiguraField(Text, Name, Type, Size, false);
 }
Example #15
0
        //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();
        }
Example #16
0
 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
Example #17
0
        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;
            }
        }
Example #18
0
 public void Add(object p, enmFieldType FieldType)
 {
     Alter(Params.Count, p, FieldType);
 }
Example #19
0
 public string GetConvertField(string Field, enmFieldType FieldType)
 {
     return(cnn.db.GetConvertField(Field, FieldType));
 }
Example #20
0
 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
Example #21
0
        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
        }