ibatis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gba...@apache.org
Subject svn commit: r380205 [2/2] - in /ibatis/trunk/cs/mapper: ./ IBatisNet.Common/Utilities/ IBatisNet.Common/Utilities/Proxy/ IBatisNet.DataMapper.Test/ IBatisNet.DataMapper.Test/Domain/ IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/ IBatisNet.DataMapper.Test/M...
Date Thu, 23 Feb 2006 19:27:28 GMT
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Int64TypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Int64TypeHandler.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Int64TypeHandler.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Int64TypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -1,12 +1,12 @@
 
 #region Apache Notice
 /*****************************************************************************
- * $Header: $
- * $Revision: $
- * $Date$
+ * $Revision$
+ * $LastChangedDate$
+ * $LastChangedBy$
  * 
  * iBATIS.NET Data Mapper
- * Copyright (C) 2004 - Gilles Bayon
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
  *  
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,8 +33,6 @@
 using IBatisNet.DataMapper.Configuration.ResultMapping;
 #endregion 
 
-
-
 namespace IBatisNet.DataMapper.TypeHandlers
 {
 	/// <summary>
@@ -90,10 +88,12 @@
 
 		public override bool IsSimpleType
 		{
-			get
-			{
-				return true;
-			}
+			get { return true; }
 		}
+
+        //public override object NullValue
+        //{
+        //    get { throw new InvalidCastException("Int64TypeHandler could not cast a null value in int64 field."); }
+        //}
 	}
 }

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableBooleanTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableBooleanTypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableBooleanTypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableBooleanTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,112 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableBooleanTypeHandler : BaseTypeHandler
+	{
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            bool? nullableValue = (bool?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <param name="mapping"></param>
+		/// <param name="dataReader"></param>
+		/// <returns></returns>
+		public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+		{
+			int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+			if (dataReader.IsDBNull(index) == true)
+			{
+				return DBNull.Value;
+			}
+			else
+			{
+				// Don't used dataReader.GetInt32 to fix oracle who alwray return decimal type
+                return new bool?(Convert.ToBoolean(dataReader.GetValue(index)));
+			}
+		}
+
+		public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader) 
+		{
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return System.DBNull.Value;
+            }
+            else
+            {
+                return new bool?( Convert.ToBoolean(dataReader.GetValue(mapping.ColumnIndex)));
+            }
+		}
+
+		public override object GetDataBaseValue(object outputValue, Type parameterType )
+		{
+            return new bool?(Convert.ToBoolean(outputValue));
+		}
+
+		public override object ValueOf(Type type, string s)
+		{
+            return new bool?(Convert.ToBoolean(s));
+		}
+
+
+		public override bool IsSimpleType
+		{
+			get { return true; }
+		}
+
+
+        public override object NullValue
+        {
+            get { return new bool?(); }
+        }
+    }
+}
+
+#endif

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableBooleanTypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableBooleanTypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableByteTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableByteTypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableByteTypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableByteTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,111 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    class NullableByteTypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            byte? nullableValue = (byte?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new byte?( Convert.ToByte(dataReader.GetValue(index)) );
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new byte?( Convert.ToByte(dataReader.GetValue(mapping.ColumnIndex)) );
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new byte?(Convert.ToByte(outputValue));
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            return new byte?(Convert.ToByte(s));
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new byte?(); }
+        }
+    }
+}
+
+#endif

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableByteTypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableByteTypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableCharTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableCharTypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableCharTypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableCharTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,111 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableCharTypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            char? nullableValue = (char?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new char?( dataReader.GetString(index)[0] );
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new char?( dataReader.GetString(mapping.ColumnIndex)[0] );
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new char?(Convert.ToChar(outputValue));
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            return new char?(Convert.ToChar(s));
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new char?(); }
+        }
+    }
+}
+
+#endif

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableCharTypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableCharTypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDateTimeTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDateTimeTypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDateTimeTypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDateTimeTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,111 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableDateTimeTypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            DateTime? nullableValue = (DateTime?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new DateTime?( dataReader.GetDateTime(index) );
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new DateTime?(dataReader.GetDateTime(mapping.ColumnIndex));
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new DateTime?(Convert.ToDateTime(outputValue));
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            return new DateTime?( Convert.ToDateTime(s) );
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new DateTime?(); }
+        }
+    }
+}
+
+#endif

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDateTimeTypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDateTimeTypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDecimalTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDecimalTypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDecimalTypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDecimalTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,115 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+using System.Globalization;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableDecimalTypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            decimal? nullableValue = (decimal?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new decimal?( dataReader.GetDecimal(index) );
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new decimal?( dataReader.GetDecimal(mapping.ColumnIndex) );
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new char?(Convert.ToChar(outputValue));
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            CultureInfo culture = new CultureInfo("en-US");
+            // value decimal must be  in format ######.##
+            // where . is separator for decimal
+            return new decimal?(decimal.Parse(s, culture));
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new decimal?(); }
+        }
+    }
+}
+
+#endif
\ No newline at end of file

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDecimalTypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDecimalTypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDoubleTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDoubleTypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDoubleTypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDoubleTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,111 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableDoubleTypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            double? nullableValue = (double?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new double?(dataReader.GetDouble(index));
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new double?(dataReader.GetDouble(mapping.ColumnIndex) );
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new double?(Convert.ToDouble(outputValue));
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            return new double?(Convert.ToDouble(s));
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new double?(); }
+        }
+    }
+}
+
+#endif
\ No newline at end of file

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDoubleTypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableDoubleTypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableGuidTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableGuidTypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableGuidTypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableGuidTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,111 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableGuidTypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            Guid? nullableValue = (Guid?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new Guid?( dataReader.GetGuid(index) );
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new Guid?( dataReader.GetGuid(mapping.ColumnIndex) );
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new Guid?( new Guid(outputValue.ToString()) );
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            return new Guid?( new Guid(s) );
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new Guid?(); }
+        }
+    }
+}
+
+#endif
\ No newline at end of file

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableGuidTypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableGuidTypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt16TypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt16TypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt16TypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt16TypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,119 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableInt16TypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            Int16? nullableValue = (Int16?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                // Don't used dataReader.GetInt32 to fix oracle who alwray return decimal type
+                return new Int16?(Convert.ToInt16(dataReader.GetValue(index)));
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new Int16?(Convert.ToInt16(dataReader.GetValue(mapping.ColumnIndex)));
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new Int16?(Convert.ToInt16(outputValue));
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            return new Int16?(Int16.Parse(s));
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new Int16?(); }
+        }
+
+        //public override bool Equals(object x, object y)
+        //{
+        //    //get boxed values.
+        //    Int16? xTyped = (Int16?)x;
+        //    return xTyped.Equals(y);
+        //}
+    }
+}
+
+#endif
\ No newline at end of file

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt16TypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt16TypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt32TypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt32TypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt32TypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt32TypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,122 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+	/// <summary>
+	/// Summary description for Int32TypeHandler.
+	/// </summary>
+	internal class NullableInt32TypeHandler : BaseTypeHandler
+	{
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            Int32? nullableValue = (Int32?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <param name="mapping"></param>
+		/// <param name="dataReader"></param>
+		/// <returns></returns>
+		public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+		{
+			int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+			if (dataReader.IsDBNull(index) == true)
+			{
+				return DBNull.Value;
+			}
+			else
+			{
+				// Don't used dataReader.GetInt32 to fix oracle who alwray return decimal type
+				return new Int32?( Convert.ToInt32(dataReader.GetValue(index)) );
+			}
+		}
+
+		public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader) 
+		{
+			if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+			{
+				return DBNull.Value;
+			}
+			else
+			{
+				return new Int32?( Convert.ToInt32(dataReader.GetValue(mapping.ColumnIndex)) );
+			}
+		}
+
+		public override object GetDataBaseValue(object outputValue, Type parameterType )
+		{
+			return new Int32?( Convert.ToInt32(outputValue) );
+		}
+
+		public override object ValueOf(Type type, string s)
+		{
+            return new Int32?( Int32.Parse(s) );
+		}
+
+
+		public override bool IsSimpleType
+		{
+			get { return true; }
+		}
+
+
+        public override object NullValue
+        {
+            get { return new Int32?(); }
+        }
+
+        //public override bool Equals(object x, object y)
+        //{
+        //    //get boxed values.
+        //    Int32? xTyped = (Int32?)x;
+        //    return xTyped.Equals(y);
+        //}
+	}
+}
+
+#endif
\ No newline at end of file

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt32TypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt32TypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt64TypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt64TypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt64TypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt64TypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,118 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableInt64TypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            Int64? nullableValue = (Int64?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new Int64?(Convert.ToInt64(dataReader.GetValue(index)));
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new Int64?(Convert.ToInt64(dataReader.GetValue(mapping.ColumnIndex)));
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new Int64?(Convert.ToInt64(outputValue));
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            return new Int64?(Int64.Parse(s));
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new Int64?(); }
+        }
+
+        //public override bool Equals(object x, object y)
+        //{
+        //    //get boxed values.
+        //    Int64? xTyped = (Int64?)x;
+        //    return xTyped.Equals(y);
+        //}
+    }
+}
+
+#endif
\ No newline at end of file

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt64TypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableInt64TypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Added: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableSingleTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableSingleTypeHandler.cs?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableSingleTypeHandler.cs (added)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableSingleTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -0,0 +1,111 @@
+#region Apache Notice
+/*****************************************************************************
+ * $Revision: 378879 $
+ * $LastChangedDate$
+ * $LastChangedBy$
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
+ *  
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ ********************************************************************************/
+#endregion
+
+#if dotnet2
+#region Using
+using System;
+using System.Data;
+
+using System.Collections.Generic;
+using IBatisNet.DataMapper.Configuration.ParameterMapping;
+using IBatisNet.DataMapper.Configuration.ResultMapping;
+#endregion
+
+namespace IBatisNet.DataMapper.TypeHandlers.Nullables
+{
+    internal class NullableSingleTypeHandler : BaseTypeHandler
+    {
+
+        public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
+        {
+            Single? nullableValue = (Single?)parameterValue;
+
+            if (nullableValue.HasValue)
+            {
+                dataParameter.Value = nullableValue.Value;
+            }
+            else
+            {
+                dataParameter.Value = DBNull.Value;
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapping"></param>
+        /// <param name="dataReader"></param>
+        /// <returns></returns>
+        public override object GetValueByName(ResultProperty mapping, IDataReader dataReader)
+        {
+            int index = dataReader.GetOrdinal(mapping.ColumnName);
+
+            if (dataReader.IsDBNull(index) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new Single?(dataReader.GetFloat(index));
+            }
+        }
+
+        public override object GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
+        {
+            if (dataReader.IsDBNull(mapping.ColumnIndex) == true)
+            {
+                return DBNull.Value;
+            }
+            else
+            {
+                return new Single?(dataReader.GetFloat(mapping.ColumnIndex));
+            }
+        }
+
+        public override object GetDataBaseValue(object outputValue, Type parameterType)
+        {
+            return new Single?(Convert.ToSingle(outputValue));
+        }
+
+        public override object ValueOf(Type type, string s)
+        {
+            return new Single?(Convert.ToSingle(s));
+        }
+
+
+        public override bool IsSimpleType
+        {
+            get { return true; }
+        }
+
+
+        public override object NullValue
+        {
+            get { return new Single?(); }
+        }
+    }
+}
+
+#endif
\ No newline at end of file

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableSingleTypeHandler.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/Nullables/NullableSingleTypeHandler.cs
------------------------------------------------------------------------------
    svn:keywords = Id LastChangedDate LastChangedBy

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ObjectTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ObjectTypeHandler.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ObjectTypeHandler.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ObjectTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -1,12 +1,12 @@
 
 #region Apache Notice
 /*****************************************************************************
- * $Header: $
- * $Revision: $
- * $Date$
+ * $Revision$
+ * $LastChangedDate$
+ * $LastChangedBy$
  * 
  * iBATIS.NET Data Mapper
- * Copyright (C) 2004 - Gilles Bayon
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
  *  
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,8 +33,6 @@
 using IBatisNet.DataMapper.Configuration.ResultMapping;
 #endregion 
 
-
-
 namespace IBatisNet.DataMapper.TypeHandlers
 {
 	/// <summary>
@@ -88,11 +86,13 @@
 
 		public override bool IsSimpleType
 		{
-			get
-			{
-				return false;
-			}
+			get { return false; }
 		}
+
+        //public override object NullValue
+        //{
+        //    get { return null; }
+        //}
 
 	}
 }

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ParameterSetterImpl.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ParameterSetterImpl.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ParameterSetterImpl.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ParameterSetterImpl.cs Thu Feb 23 11:27:20 2006
@@ -1,12 +1,12 @@
 
 #region Apache Notice
 /*****************************************************************************
- * $Header: $
- * $Revision: $
- * $Date$
+ * $Revision$
+ * $LastChangedDate$
+ * $LastChangedBy$
  * 
  * iBATIS.NET Data Mapper
- * Copyright (C) 2004 - Gilles Bayon
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
  *  
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -62,10 +62,7 @@
 		/// </summary>
 		public IDataParameter DataParameter
 		{
-			get
-			{
-				return _dataParameter;
-			}
+			get { return _dataParameter; }
 		}
 
 		/// <summary>
@@ -73,10 +70,7 @@
 		/// </summary>
 		public object Value
 		{
-			set
-			{
-				_dataParameter.Value = value;
-			}
+			set { _dataParameter.Value = value; }
 		}
 
 		#endregion

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ResultGetterImpl.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ResultGetterImpl.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ResultGetterImpl.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/ResultGetterImpl.cs Thu Feb 23 11:27:20 2006
@@ -1,13 +1,11 @@
-
-
 #region Apache Notice
 /*****************************************************************************
- * $Header: $
- * $Revision: $
- * $Date$
+ * $Revision$
+ * $LastChangedDate$
+ * $LastChangedBy$
  * 
  * iBATIS.NET Data Mapper
- * Copyright (C) 2004 - Gilles Bayon
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
  *  
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -90,10 +88,7 @@
 		/// <remarks>Null for an output parameter</remarks>
 		public IDataReader DataReader
 		{
-			get
-			{
-				return _dataReader;
-			}
+			get { return _dataReader; }
 		}
 
 		/// <summary>

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/SingleTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/SingleTypeHandler.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/SingleTypeHandler.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/SingleTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -1,12 +1,12 @@
 
 #region Apache Notice
 /*****************************************************************************
- * $Header: $
- * $Revision: $
- * $Date$
+ * $Revision$
+ * $LastChangedDate$
+ * $LastChangedBy$
  * 
  * iBATIS.NET Data Mapper
- * Copyright (C) 2004 - Gilles Bayon
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
  *  
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,8 +33,6 @@
 using IBatisNet.DataMapper.Configuration.ResultMapping;
 #endregion 
 
-
-
 namespace IBatisNet.DataMapper.TypeHandlers
 {
 	/// <summary>
@@ -88,7 +86,7 @@
 
 		public override object GetDataBaseValue(object outputValue, Type parameterType )
 		{
-			return Convert.ToSingle(outputValue);;
+			return Convert.ToSingle(outputValue);
 		}
 
 
@@ -98,10 +96,12 @@
 		/// <returns></returns>
 		public override bool IsSimpleType
 		{
-			get
-			{
-				return true;
-			}
+			get { return true; }
 		}
+
+        //public override object NullValue
+        //{
+        //    get { throw new InvalidCastException("SingleTypeHandler could not cast a null value in single field."); }
+        //}
 	}
 }

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/StringTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/StringTypeHandler.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/StringTypeHandler.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/StringTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -1,12 +1,12 @@
 
 #region Apache Notice
 /*****************************************************************************
- * $Header: $
- * $Revision: $
- * $Date$
+ * $Revision$
+ * $LastChangedDate$
+ * $LastChangedBy$
  * 
  * iBATIS.NET Data Mapper
- * Copyright (C) 2004 - Gilles Bayon
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
  *  
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,8 +33,6 @@
 using IBatisNet.DataMapper.Configuration.ResultMapping;
 #endregion 
 
-
-
 namespace IBatisNet.DataMapper.TypeHandlers
 {
 	/// <summary>
@@ -98,10 +96,12 @@
 		/// <returns></returns>
 		public override bool IsSimpleType
 		{
-			get
-			{
-				return true;
-			}
+			get { return true; }
 		}
+
+        //public override object NullValue
+        //{
+        //    get { return null; }
+        //}
 	}
 }

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/TimeSpanTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/TimeSpanTypeHandler.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/TimeSpanTypeHandler.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/TimeSpanTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -1,12 +1,12 @@
 
 #region Apache Notice
 /*****************************************************************************
- * $Header: $
- * $Revision: $
- * $Date$
+ * $Revision$
+ * $LastChangedDate$
+ * $LastChangedBy$
  * 
  * iBATIS.NET Data Mapper
- * Copyright (C) 2004 - Gilles Bayon
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
  *  
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,8 +33,6 @@
 using IBatisNet.DataMapper.Configuration.ResultMapping;
 #endregion 
 
-
-
 namespace IBatisNet.DataMapper.TypeHandlers
 {
 	/// <summary>
@@ -85,10 +83,12 @@
 		/// <returns></returns>
 		public override bool IsSimpleType
 		{
-			get
-			{
-				return true;
-			}
+			get { return true; }
 		}
+
+        //public override object NullValue
+        //{
+        //    get { throw new InvalidCastException("TimeSpanTypeHandler could not cast a null value in TimeSpan field."); }
+        //}
 	}
 }

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/TypeHandlerFactory.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/TypeHandlerFactory.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/TypeHandlerFactory.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/TypeHandlerFactory.cs Thu Feb 23 11:27:20 2006
@@ -34,7 +34,9 @@
 using IBatisNet.Common.Utilities;
 using IBatisNet.DataMapper.Configuration.Alias;
 using IBatisNet.DataMapper.Exceptions;
-
+#if dotnet2
+using IBatisNet.DataMapper.TypeHandlers.Nullables;
+#endif
 #endregion 
 
 namespace IBatisNet.DataMapper.TypeHandlers
@@ -115,7 +117,42 @@
 			handler = new EnumTypeHandler();
 			this.Register( typeof(System.Enum), handler);
 
-			_unknownTypeHandler = new UnknownTypeHandler(this);
+#if dotnet2
+            handler = new NullableBooleanTypeHandler();
+            this.Register(typeof(bool?), handler);
+
+            handler = new NullableByteTypeHandler();
+            this.Register(typeof(byte?), handler);
+
+            handler = new NullableCharTypeHandler();
+            this.Register(typeof(char?), handler);
+
+            handler = new NullableDateTimeTypeHandler();
+            this.Register(typeof(DateTime?), handler);
+
+            handler = new NullableDecimalTypeHandler();
+            this.Register(typeof(decimal?), handler);
+
+            handler = new NullableDoubleTypeHandler();
+            this.Register(typeof(double?), handler);
+
+            handler = new NullableGuidTypeHandler();
+            this.Register(typeof(Guid?), handler);
+
+            handler = new NullableInt16TypeHandler();
+            this.Register(typeof(Int16?), handler);
+            
+            handler = new NullableInt32TypeHandler();
+            this.Register(typeof(Int32?), handler);
+
+            handler = new NullableInt64TypeHandler();
+            this.Register(typeof(Int64?), handler);
+
+            handler = new NullableSingleTypeHandler();
+            this.Register(typeof(Single?), handler);
+#endif
+
+            _unknownTypeHandler = new UnknownTypeHandler(this);
 
 		}
 

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/UnknownTypeHandler.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/UnknownTypeHandler.cs?rev=380205&r1=380204&r2=380205&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/UnknownTypeHandler.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/TypeHandlers/UnknownTypeHandler.cs Thu Feb 23 11:27:20 2006
@@ -1,11 +1,11 @@
 #region Apache Notice
 /*****************************************************************************
- * $Header: $
- * $Revision: $
- * $Date$
+ * $Revision$
+ * $LastChangedDate$
+ * $LastChangedBy$
  * 
  * iBATIS.NET Data Mapper
- * Copyright (C) 2004 - Gilles Bayon
+ * Copyright (C) 2006/2005 - The Apache Software Foundation
  *  
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -111,11 +111,13 @@
 
 		public override bool IsSimpleType
 		{
-			get
-			{
-				return true;
-			}
+			get { return true; }
 		}
+
+        //public override object NullValue
+        //{
+        //    get { throw new InvalidCastException("UnknownTypeHandler could not cast a null value in unknown type field."); }
+        //}
 
 		/// <summary>
 		///  Compares two values (that this handler deals with) for equality

Added: ibatis/trunk/cs/mapper/providers.config
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/providers.config?rev=380205&view=auto
==============================================================================
--- ibatis/trunk/cs/mapper/providers.config (added)
+++ ibatis/trunk/cs/mapper/providers.config Thu Feb 23 11:27:20 2006
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<providers 
+xmlns="http://ibatis.apache.org/providers" 
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+<clear/>
+<provider 
+	  name="sqlServer1.0" 
+	  description="Microsoft SQL Server, provider V1.0.3300.0 in framework .NET V1.0" 
+	  enabled="false" 
+	  assemblyName="System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.SqlClient.SqlConnection" 
+	  commandClass="System.Data.SqlClient.SqlCommand" 
+	  parameterClass="System.Data.SqlClient.SqlParameter" 
+	  parameterDbTypeClass="System.Data.SqlDbType" 
+	  parameterDbTypeProperty="SqlDbType" 
+	  dataAdapterClass="System.Data.SqlClient.SqlDataAdapter" 
+	  commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder" 
+	  usePositionalParameters="false" 
+	  useParameterPrefixInSql="true" 
+	  useParameterPrefixInParameter="true" 
+	  parameterPrefix="@"
+  />
+<provider 
+	  name="sqlServer1.1" 
+	  description="Microsoft SQL Server, provider V1.0.5000.0 in framework .NET V1.1" 
+	  enabled="true"
+	  default="true" 
+	  assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
+	  connectionClass="System.Data.SqlClient.SqlConnection" 
+	  commandClass="System.Data.SqlClient.SqlCommand" 
+	  parameterClass="System.Data.SqlClient.SqlParameter" 
+	  parameterDbTypeClass="System.Data.SqlDbType" 
+	  parameterDbTypeProperty="SqlDbType" 
+	  dataAdapterClass="System.Data.SqlClient.SqlDataAdapter" 
+	  commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder" 
+	  usePositionalParameters="false" 
+	  useParameterPrefixInSql="true" 
+	  useParameterPrefixInParameter="true" 
+	  parameterPrefix="@"
+  />
+<provider
+    name="sqlServer2.0"
+    enabled="false"
+    description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0" 
+    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
+    connectionClass="System.Data.SqlClient.SqlConnection" 
+    commandClass="System.Data.SqlClient.SqlCommand"
+    parameterClass="System.Data.SqlClient.SqlParameter"
+    parameterDbTypeClass="System.Data.SqlDbType"
+    parameterDbTypeProperty="SqlDbType"
+    dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"
+    commandBuilderClass=" System.Data.SqlClient.SqlCommandBuilder"
+    usePositionalParameters = "false"
+    useParameterPrefixInSql = "true"
+    useParameterPrefixInParameter = "true"    
+    parameterPrefix="@"
+    />	
+<provider name="OleDb1.1" 
+	  description="OleDb, provider V1.0.5000.0 in framework .NET V1.1" 
+	  enabled="true"
+	  assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
+    connectionClass="System.Data.OleDb.OleDbConnection" 
+	  commandClass="System.Data.OleDb.OleDbCommand" 
+	  parameterClass="System.Data.OleDb.OleDbParameter" 
+	  parameterDbTypeClass="System.Data.OleDb.OleDbType" 
+	  parameterDbTypeProperty="OleDbType" 
+	  dataAdapterClass="System.Data.OleDb.OleDbDataAdapter" 
+	  commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder" 
+	  usePositionalParameters="true" 
+	  useParameterPrefixInSql="false" 
+	  useParameterPrefixInParameter="false" 
+	  parameterPrefix=""
+    />
+  <provider name="OleDb2.0" 
+      description="OleDb, provider V2.0.0.0 in framework .NET V2" 
+      enabled="false"
+      assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
+      connectionClass="System.Data.OleDb.OleDbConnection" 
+      commandClass="System.Data.OleDb.OleDbCommand" 
+      parameterClass="System.Data.OleDb.OleDbParameter" 
+      parameterDbTypeClass="System.Data.OleDb.OleDbType" 
+      parameterDbTypeProperty="OleDbType" 
+      dataAdapterClass="System.Data.OleDb.OleDbDataAdapter" 
+      commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder" 
+      usePositionalParameters="true" 
+      useParameterPrefixInSql="false" 
+      useParameterPrefixInParameter="false" 
+      parameterPrefix=""
+    />  
+<provider 
+	name="Odbc1.1" 
+	description="Odbc, provider V1.0.5000.0 in framework .NET V1.1" 
+	enabled="true" 
+	assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
+  connectionClass="System.Data.Odbc.OdbcConnection" 
+	commandClass="System.Data.Odbc.OdbcCommand" 
+	parameterClass="System.Data.Odbc.OdbcParameter" 
+	parameterDbTypeClass="System.Data.Odbc.OdbcType" 
+	parameterDbTypeProperty="OdbcType" 
+	dataAdapterClass="System.Data.Odbc.OdbcDataAdapter" 
+	commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder" 
+	usePositionalParameters="true" 
+	useParameterPrefixInSql="false" 
+	useParameterPrefixInParameter="false" 
+	parameterPrefix="@"/>
+  <provider 
+    name="Odbc2.0" 
+    description="Odbc, provider V2.0.0.0 in framework .NET V2" 
+    enabled="false" 
+    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
+    connectionClass="System.Data.Odbc.OdbcConnection" 
+    commandClass="System.Data.Odbc.OdbcCommand" 
+    parameterClass="System.Data.Odbc.OdbcParameter" 
+    parameterDbTypeClass="System.Data.Odbc.OdbcType" 
+    parameterDbTypeProperty="OdbcType" 
+    dataAdapterClass="System.Data.Odbc.OdbcDataAdapter" 
+    commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder" 
+    usePositionalParameters="true" 
+    useParameterPrefixInSql="false" 
+    useParameterPrefixInParameter="false" 
+    parameterPrefix="@"/>  
+<provider 
+	name="oracle9.2" 
+	description="Oracle, Oracle provider V9.2.0.401" 
+	enabled="false" 
+	assemblyName="Oracle.DataAccess, Version=9.2.0.401, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionClass="Oracle.DataAccess.Client.OracleConnection" 
+	commandClass="Oracle.DataAccess.Client.OracleCommand" 
+	parameterClass="Oracle.DataAccess.Client.OracleParameter" 
+	parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType" 
+	parameterDbTypeProperty="OracleDbType" 
+	dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter" 
+	commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder" 
+	usePositionalParameters="false"
+	useParameterPrefixInSql="true" 
+	useParameterPrefixInParameter="false" 
+	parameterPrefix=":" 
+	useDeriveParameters="false"/>
+<provider 
+	name="oracle10.1" 
+	description="Oracle, oracle provider V10.1.0.301"
+	enabled="false" 
+	assemblyName="Oracle.DataAccess, Version=10.1.0.301, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionClass="Oracle.DataAccess.Client.OracleConnection" 
+	commandClass="Oracle.DataAccess.Client.OracleCommand" 
+	parameterClass="Oracle.DataAccess.Client.OracleParameter" 
+	parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType" 
+	parameterDbTypeProperty="OracleDbType" 
+	dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter" 
+	commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder" 
+	usePositionalParameters="true" 
+	useParameterPrefixInSql="true"
+	useParameterPrefixInParameter="true" 
+	parameterPrefix=":" 
+	useDeriveParameters="false"/>
+<provider 
+	name="oracleClient1.0" 
+	description="Oracle, Microsoft provider V1.0.5000.0" 
+	enabled="false" 
+	assemblyName="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.OracleClient.OracleConnection" 
+	commandClass="System.Data.OracleClient.OracleCommand" 
+	parameterClass="System.Data.OracleClient.OracleParameter" 
+	parameterDbTypeClass="System.Data.OracleClient.OracleType" 
+	parameterDbTypeProperty="OracleType" 
+	dataAdapterClass="System.Data.OracleClient.OracleDataAdapter" 
+	commandBuilderClass="System.Data.OracleClient.OracleCommandBuilder" 
+	usePositionalParameters="false" 
+	useParameterPrefixInSql="true" 
+	useParameterPrefixInParameter="false" 
+	parameterPrefix=":"/>
+<provider 
+	name="ByteFx" 
+	description="MySQL, ByteFx provider V0.7.6.15073" 
+	enabled="false" 
+	assemblyName="ByteFX.MySqlClient, Version=0.7.6.15073, Culture=neutral, PublicKeyToken=f2fef6fed1732fc1" connectionClass="ByteFX.Data.MySqlClient.MySqlConnection" 
+	commandClass="ByteFX.Data.MySqlClient.MySqlCommand" 
+	parameterClass="ByteFX.Data.MySqlClient.MySqlParameter" 
+	parameterDbTypeClass="ByteFX.Data.MySqlClient.MySqlDbType" 
+	parameterDbTypeProperty="MySqlDbType" 
+	dataAdapterClass="ByteFX.Data.MySqlClient.MySqlDataAdapter" 
+	commandBuilderClass="ByteFX.Data.MySqlClient.MySqlCommandBuilder" 
+	usePositionalParameters="false" 
+	useParameterPrefixInSql="true" 
+	useParameterPrefixInParameter="true" 
+	parameterPrefix="@"/>
+<provider 
+	name="MySql" 
+	description="MySQL, MySQL provider V1.0.5.13785" 
+	enabled="false" 
+	assemblyName="MySql.Data, Version=1.0.5.13785, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionClass="MySql.Data.MySqlClient.MySqlConnection" 
+	commandClass="MySql.Data.MySqlClient.MySqlCommand" 
+	parameterClass="MySql.Data.MySqlClient.MySqlParameter" 
+	parameterDbTypeClass="MySql.Data.MySqlClient.MySqlDbType" 
+	parameterDbTypeProperty="MySqlDbType" 
+	dataAdapterClass="MySql.Data.MySqlClient.MySqlDataAdapter" 
+	commandBuilderClass="MySql.Data.MySqlClient.MySqlCommandBuilder" 
+	usePositionalParameters="false" 
+	useParameterPrefixInSql="true" 
+	useParameterPrefixInParameter="true" 
+	parameterPrefix="?"/>
+<provider name="SQLite3"
+	description="SQLite, SQLite.NET provider V0.21.1869.3794"
+	enabled="false"
+	assemblyName="SQLite.NET, Version=0.21.1869.3794, Culture=neutral, PublicKeyToken=c273bd375e695f9c" 
+	connectionClass="Finisar.SQLite.SQLiteConnection"
+	commandClass="Finisar.SQLite.SQLiteCommand"
+	parameterClass="Finisar.SQLite.SQLiteParameter"
+	parameterDbTypeClass="System.Data.DbType, System.Data"
+	parameterDbTypeProperty="DbType"
+	dataAdapterClass="Finisar.SQLite.SQLiteDataAdapter"
+	commandBuilderClass="Finisar.SQLite.SQLiteCommandBuilder"
+	usePositionalParameters="false"
+	useParameterPrefixInSql="true"
+	useParameterPrefixInParameter="true"
+	parameterPrefix="@"
+	setDbParameterPrecision="false"
+	setDbParameterScale="false"/>
+<provider
+	name="Firebird1.7" 
+	description="Firebird, Firebird SQL .NET provider V1.7.0.33200" 
+	enabled="false" 
+	assemblyName="FirebirdSql.Data.Firebird, Version=1.7.0.33200, Culture=neutral, PublicKeyToken=fa843d180294369d" connectionClass="FirebirdSql.Data.Firebird.FbConnection" 
+	commandClass="FirebirdSql.Data.Firebird.FbCommand" 
+	parameterClass="FirebirdSql.Data.Firebird.FbParameter" 
+	parameterDbTypeClass="FirebirdSql.Data.Firebird.FbDbType" 
+	parameterDbTypeProperty="FbDbType" 
+	dataAdapterClass="FirebirdSql.Data.Firebird.FbDataAdapter" 
+	commandBuilderClass="FirebirdSql.Data.Firebird.FbCommandBuilder" 
+	usePositionalParameters="false" 
+	useParameterPrefixInSql="true" 
+	useParameterPrefixInParameter="true" 
+	parameterPrefix="@"/>
+<provider
+	name="PostgreSql0.7" 
+	description="PostgreSql, Npgsql provider V0.7.0.0" 
+	enabled="false" 
+	assemblyName="Npgsql, Version=0.7.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" 
+	connectionClass="Npgsql.NpgsqlConnection" 
+	commandClass="Npgsql.NpgsqlCommand" 
+	parameterClass="Npgsql.NpgsqlParameter" 
+	parameterDbTypeClass="NpgsqlTypes.NpgsqlDbType" 
+	parameterDbTypeProperty="NpgsqlDbType" 
+	dataAdapterClass="Npgsql.NpgsqlDataAdapter" 
+	commandBuilderClass="Npgsql.NpgsqlCommandBuilder" 
+	usePositionalParameters="false" 
+	useParameterPrefixInSql="true" 
+	useParameterPrefixInParameter="true" 
+	parameterPrefix=":"/>
+<provider
+	name="PostgreSql0.7.1" 
+	description="PostgreSql, Npgsql provider V0.7.1.0" 
+	enabled="false" 
+	assemblyName="Npgsql, Version=0.7.1.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" 
+	connectionClass="Npgsql.NpgsqlConnection" 
+	commandClass="Npgsql.NpgsqlCommand" 
+	parameterClass="Npgsql.NpgsqlParameter" 
+	parameterDbTypeClass="NpgsqlTypes.NpgsqlDbType" 
+	parameterDbTypeProperty="NpgsqlDbType" 
+	dataAdapterClass="Npgsql.NpgsqlDataAdapter" 
+	commandBuilderClass="Npgsql.NpgsqlCommandBuilder" 
+	usePositionalParameters="false" 
+	useParameterPrefixInSql="true" 
+	useParameterPrefixInParameter="true" 
+	parameterPrefix=":"/>	
+<provider 
+	name="iDb2.10" 
+	description="IBM DB2 Provider, V 10.0" 
+	enabled="false" 
+	assemblyName="IBM.Data.DB2.iSeries, Version=10.0.0.0,Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26, Custom=null" connectionClass="IBM.Data.DB2.iSeries.iDB2Connection" 
+	commandClass="IBM.Data.DB2.iSeries.iDB2Command" 
+	parameterClass="IBM.Data.DB2.iSeries.iDB2Parameter" 
+	parameterDbTypeClass="IBM.Data.DB2.iSeries.iDB2DbType" 
+	parameterDbTypeProperty="iDB2DbType" 
+	dataAdapterClass="IBM.Data.DB2.iSeries.iDB2DataAdapter" 
+	commandBuilderClass="IBM.Data.DB2.iSeries.iDB2CommandBuilder" 
+	usePositionalParameters="true" 
+	useParameterPrefixInSql="false" 
+	useParameterPrefixInParameter="false" 
+	parameterPrefix=""/>
+<provider 
+	name="Informix" 
+	description="Informix NET Provider, 2.81.0.0" 
+	enabled="false" 
+	assemblyName="IBM.Data.Informix, Version=2.81.0.0, Culture=neutral, PublicKeyToken=7c307b91aa13d208" 
+	connectionClass="IBM.Data.Informix.IfxConnection" 
+	commandClass="IBM.Data.Informix.IfxCommand" 
+	parameterClass="IBM.Data.Informix.IfxParameter" 
+	parameterDbTypeClass="IBM.Data.Informix.IfxType" 
+	parameterDbTypeProperty="IfxType" 
+	dataAdapterClass="IBM.Data.Informix.IfxDataAdapter" 
+	commandBuilderClass="IBM.Data.Informix.IfxCommandBuilder" 
+	usePositionalParameters = "true" 
+	useParameterPrefixInSql = "false" 
+	useParameterPrefixInParameter = "false" 
+	useDeriveParameters="false" 
+	/>
+</providers>



Mime
View raw message