예제 #1
0
        private SqlParameter SetParameter(Parameter parameter)
        {
            switch (parameter.ParameterType)
            {
            case ParameterType.INT:
                return(new SqlParameter()
                {
                    DbType = DbType.Int32, ParameterName = parameter.Name, Value = DbConverter.ToDbInteger(parameter.Value)
                });

            case ParameterType.VARCHAR:
            case ParameterType.NVARCHAR:
            case ParameterType.TEXT:
                return(new SqlParameter()
                {
                    DbType = DbType.String, Size = parameter.Size, ParameterName = parameter.Name, Value = DbConverter.ToDbString(parameter.Value)
                });

            case ParameterType.MONEY:
                return(new SqlParameter()
                {
                    DbType = DbType.Currency, ParameterName = parameter.Name, Value = DbConverter.ToDbDecimal(parameter.Value)
                });

            case ParameterType.DECIMAL:
                return(new SqlParameter()
                {
                    DbType = DbType.Decimal, ParameterName = parameter.Name, Value = DbConverter.ToDbDecimal(parameter.Value)
                });

            case ParameterType.GUID:
                return(new SqlParameter()
                {
                    DbType = DbType.Guid, ParameterName = parameter.Name, Value = DbConverter.ToDbGuid(parameter.Value)
                });

            default:
                throw new Exception("unknown parameter type.");
            }
        }