Esempio n. 1
0
        public override object GetParameterValue(DbCommand command, string parameterName)
        {
            object convertedValue = base.GetParameterValue(command, parameterName);

            ParameterTypeRegistry registry = GetParameterTypeRegistry(command.CommandText);

            if (registry != null)
            {
                if (registry.HasRegisteredParameterType(parameterName))
                {
                    DbType dbType = registry.GetRegisteredParameterType(parameterName);

                    if (DbType.Guid == dbType)
                    {
                        convertedValue = ConvertByteArrayToGuid(convertedValue);
                    }
                    else if (DbType.Boolean == dbType)
                    {
                        convertedValue = Convert.ToBoolean(convertedValue, CultureInfo.InvariantCulture);
                    }
                }
            }

            return(convertedValue);
        }
Esempio n. 2
0
		private void RegisterParameterType(DbCommand command, string parameterName, DbType dbType)
		{
			ParameterTypeRegistry registry = GetParameterTypeRegistry(command.CommandText);
			if (registry == null)
			{
				registry = new ParameterTypeRegistry(command.CommandText);
				registeredParameterTypes.Add(command.CommandText, registry);
			}

			registry.RegisterParameterType(parameterName, dbType);
		}
Esempio n. 3
0
		/// <summary>
		/// 设置参数值
		/// </summary>
		/// <param name="command"></param>
		/// <param name="parameterName">参数名称</param>
		/// <param name="value">参数值</param>
		public override void SetParameterValue(DbCommand command, string parameterName, object value)
		{
			object convertedValue = value;

			ParameterTypeRegistry registry = GetParameterTypeRegistry(command.CommandText);
			if (registry != null)
			{
				if (registry.HasRegisteredParameterType(parameterName))
				{
					DbType dbType = registry.GetRegisteredParameterType(parameterName);

					if (DbType.Guid == dbType)
					{
						convertedValue = ConvertGuidToByteArray(value);
					}
				}
			}

			base.SetParameterValue(command, parameterName, convertedValue);
		}
		private void RegisterParameterType(DbCommand command, string parameterName, DbType dbType)
		{
			ParameterTypeRegistry registry = GetParameterTypeRegistry(command.CommandText);
			if (registry == null)
			{
				registry = new ParameterTypeRegistry(command.CommandText);
				registeredParameterTypes.Add(command.CommandText, registry);
			}

			registry.RegisterParameterType(parameterName, dbType);
		}