Пример #1
0
        private static string GetTypeString(eDbType type)
        {
            switch (type)
            {
            case eDbType.guid:
                return("UniqueIdentifier");

            case eDbType.@int:
            case eDbType.datetime:
                return(type.ToString());

            case eDbType.@long:
                return("BigInt");

            case eDbType.@bool:
                return("Bit");

            case eDbType.@float:
                return("Decimal");

            case eDbType.binary:
                return("Binary(MAX)");
                //more types need to be added
            }

            return("Varchar(250)");
        }
Пример #2
0
        private static Type GetType(eDbType type)
        {
            switch (type)
            {
            case eDbType.guid:
                return(typeof(Guid));

            case eDbType.@int:
                return(typeof(int));

            case eDbType.@long:
                return(typeof(long));

            case eDbType.@bool:
                return(typeof(bool));

            case eDbType.datetime:
                return(typeof(DateTime));

            case eDbType.@float:
                return(typeof(float));

            case eDbType.binary:
                return(typeof(byte[]));
                //more types need to be added
            }

            return(typeof(string));
        }
Пример #3
0
        public static String CheckConnection(eDbType dbtype, String szServer, String szPort, String szUser, String szPassword)
        {
            String result = "";

            try
            {
                if (csDatabase.dbType == eDbType.MySql)
                {
                    // in caso di porta non definita, utilizza default
                    if (String.IsNullOrEmpty(szPort))
                    {
                        szPort = MYSQL_DEFAULT_PORT;
                    }

                    // componi stringa di connessione e tenta apertura
                    String szConnString = String.Format(MYCONNECTIONSTRINGNODB, szServer, szPort, szUser, szPassword);

                    MySqlConnection conn = new MySqlConnection(szConnString);
                    conn.Open();

                    if (conn.State == ConnectionState.Open)
                    {
                        result = "MySQL Server version " + conn.ServerVersion;
                    }

                    conn.Close();
                }
                else if (csDatabase.dbType == eDbType.MSSQL)
                {
                    // in caso di porta non definita, utilizza default
                    if (String.IsNullOrEmpty(szPort))
                    {
                        szPort = MSSQL_DEFAULT_PORT;
                    }

                    // componi stringa di connessione e tenta apertura
                    String szConnString = String.Format(CONNECTIONSTRINGNODB, szServer, szPort, szUser, szPassword);

                    SqlConnection conn = new SqlConnection(szConnString);
                    conn.Open();

                    if (conn.State == ConnectionState.Open)
                    {
                        result = "Microsoft SQL Server version " + conn.ServerVersion;
                    }

                    conn.Close();
                }
            }
            catch (System.Exception ex)
            {
                result = "Connection Error! " + ex.Message;
            }

            return(result);
        }
Пример #4
0
        /// <summary>
        /// Conversione generica campo di DataRow indicandone il tipo, come specificato in DataRow.Columns[].DataType
        /// </summary>
        /// <param name="fld"></param>
        /// <param name="fld_type"></param>
        /// <returns></returns>
        static private string convField(object fld, Type fld_type, eDbType dbtype)
        {
            string szFld = "";

            if (fld_type == System.Type.GetType("System.String"))
            {
                // testo, delimina tra apici singoli
                szFld += "'" + SostituisciApice(fld.ToString()) + "'";
            }
            else if (fld_type == System.Type.GetType("System.DateTime"))
            {
                DateTime dt = (DateTime)fld;    // short reference

                // Formato data Access "{ts 'YYYY-MM-DD HH:MM:SS'}"
                //szFld = String.Format("{ts '{0:0000}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}'}", dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second);
                if (dbtype == eDbType.MySql)
                {
                    // Formato data MySql Server "'YYYY-MM-DD HH:MM:SS'"
                    szFld = String.Format("'{0:0000}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}'", dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second);
                }
                else if (dbtype == eDbType.MSSQL)
                {
                    // Formato data SQL Server "'YYYY-MM-DDTHH:MM:SS'"
                    szFld = String.Format("'{0:0000}-{1:00}-{2:00}T{3:00}:{4:00}:{5:00}'", dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second);
                }

                // formato DBMaker "'DD.MM.YYYY'd"
                //szFld = dt.ToString().Substring(0, 10);
                //szFld = "'" + szFld.Replace("/", ".") + "'d";
            }
            else
            {
                // numerico generico
                szFld = fld.ToString().Replace(",", ".");
                if (szFld.Length == 0)
                {
                    szFld = "0";
                }
            }

            return(szFld);
        }
Пример #5
0
        public IDatabase GetDatabase(eDbType edbType)
        {
            IDatabase idb = null;

            switch (edbType)
            {
            case eDbType.Sql:
                idb = new SqlDatabase();
                break;

            case eDbType.MsAccess:
                idb = new MsAccessDatabase();
                break;

            case eDbType.Oracle:
                idb = new OracleDatabase();
                break;

            default:
                break;
            }
            return(idb);
        }
Пример #6
0
 public static bool IsString(this eDbType type)
 {
     switch (type)
     {
     case eDbType.@string:
     case eDbType.varchar:
     case eDbType.nvarchar:
     case eDbType.@char:
     case eDbType.text:
     case eDbType.xml:
     case eDbType.ntext:
     case eDbType.nchar:
     case eDbType.date:
     case eDbType.datetime:
     case eDbType.datetime2:
     case eDbType.datetimeoffset:
     case eDbType.time:
     case eDbType.timestamp:
     case eDbType.guid:
     case eDbType.uniqueidentifier:
         return(true);
     }
     return(false);
 }
Пример #7
0
        private string CheckDefaultValue(eDbType type, string value)
        {
            if (!string.IsNullOrEmpty(value))
            {
                return(value);
            }
            switch (type)
            {
            case eDbType.binary:
            case eDbType.image:
            case eDbType.varbinary:
                return(default(byte).ToString());

            case eDbType.bit:
            case eDbType.@bool:
                return(default(bool).ToString());

            case eDbType.@char:
            case eDbType.nchar:
            case eDbType.ntext:
            case eDbType.nvarchar:
            case eDbType.@string:
            case eDbType.text:
            case eDbType.varchar:
            case eDbType.sql_variant:
            case eDbType.xml:
            case eDbType.geography:
            case eDbType.geometry:
            case eDbType.hierarchyid:
                return(default(string));

            case eDbType.date:
            case eDbType.datetime:
            case eDbType.datetime2:
            case eDbType.datetimeoffset:
            case eDbType.smalldatetime:
            case eDbType.time:
            case eDbType.timestamp:
                return(default(DateTime).ToString());

            case eDbType.@decimal:
            case eDbType.@float:
            case eDbType.money:
            case eDbType.numeric:
            case eDbType.real:
            case eDbType.smallmoney:
                return(default(float).ToString());

            case eDbType.guid:
            case eDbType.uniqueidentifier:
                return(default(Guid).ToString());

            case eDbType.smallint:
            case eDbType.tinyint:
                return(default(Int16).ToString());

            case eDbType.@int:
                return(default(int).ToString());

            case eDbType.bigint:
            case eDbType.@long:
                return(default(long).ToString());
            }

            return(default(string));
        }
Пример #8
0
 public TabularColumn(string name, eDbType dbType, object value)
 {
     Name   = name;
     DbType = dbType;
     Value  = value;
 }