public SAParameter AddOutputParameter(string name, SADbType type)
        {
            SAParameter prm = new SAParameter();

            prm.Direction     = ParameterDirection.Output;
            prm.ParameterName = name;
            prm.SADbType      = type;

            _parameters.Add(prm);

            return(prm);
        }
        public SAParameter AddParameter(string name, SADbType type, object value, ParameterDirection direction)
        {
            SAParameter prm = new SAParameter();

            prm.Direction     = direction;
            prm.ParameterName = name;
            prm.SADbType      = type;
            prm.Value         = this.PrepareSqlValue(value);

            _parameters.Add(prm);

            return(prm);
        }
        public SAParameter AddParameter(string name, SADbType type, object value, bool convertZeroToDBNull)
        {
            SAParameter prm = new SAParameter();

            prm.Direction     = ParameterDirection.Input;
            prm.ParameterName = name;
            prm.SADbType      = type;
            prm.Value         = this.PrepareSqlValue(value, convertZeroToDBNull);

            _parameters.Add(prm);

            return(prm);
        }
        public SAParameter AddStreamParameter(string name, Stream value, SADbType type)
        {
            SAParameter prm = new SAParameter();

            prm.Direction     = ParameterDirection.Input;
            prm.ParameterName = name;
            prm.SADbType      = type;

            value.Position = 0;
            byte[] data = new byte[value.Length];
            value.Read(data, 0, (int)value.Length);
            prm.Value = data;

            _parameters.Add(prm);

            return(prm);
        }
Esempio n. 5
0
        static public Dictionary <string, SAParameter> GetParameters(Guid dataID,
                                                                     tgProviderSpecificMetadata providerMetadata, tgColumnMetadataCollection columns)
        {
            lock (parameterCache)
            {
                if (!parameterCache.ContainsKey(dataID))
                {
                    // The Parameters for this Table haven't been cached yet, this is a one time operation
                    Dictionary <string, SAParameter> types = new Dictionary <string, SAParameter>();

                    SAParameter param1;
                    foreach (tgColumnMetadata col in columns)
                    {
                        tgTypeMap typeMap = providerMetadata.GetTypeMap(col.PropertyName);
                        if (typeMap != null)
                        {
                            string   nativeType = typeMap.NativeType;
                            SADbType dbType     = Cache.NativeTypeToDbType(nativeType);

                            param1 = new SAParameter(Delimiters.Param + col.PropertyName, dbType, 0, col.Name);
                            param1.SourceColumn = col.Name;

                            switch (dbType)
                            {
                            case SADbType.BigInt:
                            case SADbType.Decimal:
                            case SADbType.Float:
                            case SADbType.Integer:
                            case SADbType.Money:
                            case SADbType.Real:
                            case SADbType.SmallMoney:
                            case SADbType.TinyInt:
                            case SADbType.SmallInt:

                                param1.Size      = (int)col.CharacterMaxLength;
                                param1.Precision = (byte)col.NumericPrecision;
                                param1.Scale     = (byte)col.NumericScale;
                                break;

                            case SADbType.VarChar:
                                param1.Size = (int)col.CharacterMaxLength;
                                break;

                            //case SADbType.Integer:
                            //    param1.Size = 4;
                            //    break;

                            case SADbType.Date:
                            case SADbType.DateTime:

                                param1.Precision = 23;
                                param1.Scale     = 3;
                                break;

                            case SADbType.SmallDateTime:

                                param1.Precision = 16;
                                break;
                            }
                            types[col.Name] = param1;
                        }
                    }

                    parameterCache[dataID] = types;
                }
            }

            return(parameterCache[dataID]);
        }
Esempio n. 6
0
        internal static string GetNativeType(SADbType saDbType)
        {
            switch (saDbType)
            {
            case SADbType.BigInt:
                return("bigint");

            case SADbType.Binary:
                return("binary");

            case SADbType.Bit:
                return("bit");

            case SADbType.Char:
                return("char");

            case SADbType.Date:
                return("date");

            case SADbType.DateTime:
                return("datetime");

            //case SADbType.DateTime2: return "datetime2";
            case SADbType.DateTimeOffset:
                return("datetimeoffset");

            case SADbType.Decimal:
                return("decimal");

            case SADbType.Double:
                return("double");

            case SADbType.Float:
                return("float");

            case SADbType.Image:
                return("image");

            case SADbType.Integer:
                return("integer");

            case SADbType.LongBinary:
                return("long binary");

            case SADbType.LongNVarchar:
                return("long nvarchar");

            case SADbType.LongVarbit:
                return("long varbit");

            case SADbType.LongVarchar:
                return("long varchar");

            case SADbType.Money:
                return("money");

            case SADbType.NChar:
                return("nchar");

            case SADbType.NText:
                return("ntext");

            case SADbType.NVarChar:
                return("nvarchar");

            case SADbType.Real:
                return("real");

            case SADbType.SmallDateTime:
                return("smalldatetime");

            case SADbType.SmallInt:
                return("smallint");

            case SADbType.SmallMoney:
                return("smallmoney");

            //case SADbType.Variant: return "sql_variant";
            case SADbType.Text:
                return("text");

            case SADbType.Time:
                return("time");

            case SADbType.TimeStamp:
                return("timestamp");

            case SADbType.TimeStampWithTimeZone:
                return("timestamp with time zone");

            case SADbType.TinyInt:
                return("tinyint");

            case SADbType.UniqueIdentifier:
                return("uniqueidentifier");

            case SADbType.UnsignedBigInt:
                return("unsigned bigint");

            case SADbType.UnsignedInt:
                return("unsigned int");

            case SADbType.UnsignedSmallInt:
                return("unsigned smallint");

            case SADbType.VarBinary:
                return("varbinary");

            case SADbType.VarChar:
                return("varchar");

            case SADbType.Xml:
                return("xml");

            default:
                return("sql_variant");
            }
        }
 public SqlAnywhereColumn(string actualName, Table table, bool isIdentity, SADbType saDbType, int maxLength)
     : base(actualName, table, isIdentity, saDbType.GetDbType() ?? default(DbType), maxLength)
 {
     _saDbType = saDbType;
 }
 public SqlAnywhereColumn(string actualName, Table table, SADbType saDbType) : base(actualName, table)
 {
     _saDbType = saDbType;
 }
 public static Type GetClrType(SADbType saDBType)
 {
     Type clrType;
     return ClrTypes.TryGetValue(saDBType, out clrType) ? clrType : typeof(object);
 }