From d7571f6a6e5f53d10986dd104c8806b98978457e Mon Sep 17 00:00:00 2001 From: Sureshkumar T Date: Tue, 5 Apr 2005 09:25:59 +0000 Subject: [PATCH] 2005-04-05 Sureshkumar T * OdbcParameter.cs: SqlBindParameter requires the last parameter to be a ref. * libodbc.cs: API change for above. svn path=/trunk/mcs/; revision=42553 --- mcs/class/System.Data/System.Data.Odbc/ChangeLog | 6 ++++++ mcs/class/System.Data/System.Data.Odbc/OdbcParameter.cs | 7 +++---- mcs/class/System.Data/System.Data.Odbc/libodbc.cs | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/mcs/class/System.Data/System.Data.Odbc/ChangeLog b/mcs/class/System.Data/System.Data.Odbc/ChangeLog index c097febbeed..09799f9086c 100644 --- a/mcs/class/System.Data/System.Data.Odbc/ChangeLog +++ b/mcs/class/System.Data/System.Data.Odbc/ChangeLog @@ -1,3 +1,9 @@ +2005-04-05 Sureshkumar T + + * OdbcParameter.cs: SqlBindParameter requires the last parameter + to be a ref. + * libodbc.cs: API change for above. + 2005-04-04 Sureshkumar T * OdbcDataReader.cs: Ignore BaseTableName & BaseColumnName diff --git a/mcs/class/System.Data/System.Data.Odbc/OdbcParameter.cs b/mcs/class/System.Data/System.Data.Odbc/OdbcParameter.cs index 0024003d666..e3ef79769a1 100644 --- a/mcs/class/System.Data/System.Data.Odbc/OdbcParameter.cs +++ b/mcs/class/System.Data/System.Data.Odbc/OdbcParameter.cs @@ -292,16 +292,15 @@ namespace System.Data.Odbc SQL_TYPE sqltype = OdbcTypeConverter.ConvertToSqlType (odbcType); // Bind parameter based on type + int ind = -3; if (odbcType == OdbcType.Int) ret = libodbc.SQLBindParameter(hstmt, (ushort)ParamNum, (short)paramdir, ctype, sqltype, Convert.ToUInt32(Size), - 0, ref intbuf, 0, 0); + 0, ref intbuf, 0, ref ind); else ret = libodbc.SQLBindParameter(hstmt, (ushort)ParamNum, (short)paramdir, ctype, sqltype, Convert.ToUInt32(Size), - 0, buffer, 0, 0); - - + 0, buffer, buffer.Length, ref ind); // Check for error condition if ((ret != OdbcReturn.Success) && (ret != OdbcReturn.SuccessWithInfo)) throw new OdbcException(new OdbcError("SQLBindParam", OdbcHandleType.Stmt, hstmt)); diff --git a/mcs/class/System.Data/System.Data.Odbc/libodbc.cs b/mcs/class/System.Data/System.Data.Odbc/libodbc.cs index 771dab8e5f9..7b5c04f3fbe 100644 --- a/mcs/class/System.Data/System.Data.Odbc/libodbc.cs +++ b/mcs/class/System.Data/System.Data.Odbc/libodbc.cs @@ -239,12 +239,12 @@ namespace System.Data.Odbc [DllImport("odbc32.dll")] internal static extern OdbcReturn SQLBindParameter(IntPtr StatementHandle, ushort ParamNum, short InputOutputType, SQL_C_TYPE ValueType, SQL_TYPE ParamType, uint ColSize, - short DecimalDigits, byte[] ParamValue, int BufLen, int StrLen); + short DecimalDigits, byte[] ParamValue, int BufLen, ref int StrLen); [DllImport("odbc32.dll")] internal static extern OdbcReturn SQLBindParameter(IntPtr StatementHandle, ushort ParamNum, short InputOutputType, SQL_C_TYPE ValueType, SQL_TYPE ParamType, uint ColSize, - short DecimalDigits, ref int ParamValue, int BufLen, int StrLen); + short DecimalDigits, ref int ParamValue, int BufLen, ref int StrLen); [DllImport("odbc32.dll")] internal static extern OdbcReturn SQLCancel(IntPtr StatementHandle); -- 2.25.1