Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSureshkumar T <suresh@mono-cvs.ximian.com>2005-06-28 15:50:14 +0400
committerSureshkumar T <suresh@mono-cvs.ximian.com>2005-06-28 15:50:14 +0400
commit0594791a4983e4ced738738093e5b3a145be2423 (patch)
tree4ca89ce4a6541904e094190c4df144a1d5d70df8 /mcs/class/System.Data/System.Data.Odbc
parentbfa8cbbae2a1997f6275d7cfc93c5591bfe7fa49 (diff)
2005-06-28 Sureshkumar T <tsureshkumar@novell.com>
* OdbcDataReader.cs: GetPrimaryKeys (): use the length indicator for GetString, otherwise, it creates a string of length 255. Use ArrayList for keys as the columns are different from the selected columns. fixes bug #75263. svn path=/trunk/mcs/; revision=46641
Diffstat (limited to 'mcs/class/System.Data/System.Data.Odbc')
-rw-r--r--mcs/class/System.Data/System.Data.Odbc/ChangeLog7
-rw-r--r--mcs/class/System.Data/System.Data.Odbc/OdbcDataReader.cs9
2 files changed, 11 insertions, 5 deletions
diff --git a/mcs/class/System.Data/System.Data.Odbc/ChangeLog b/mcs/class/System.Data/System.Data.Odbc/ChangeLog
index b46121bcc40..18784690dbe 100644
--- a/mcs/class/System.Data/System.Data.Odbc/ChangeLog
+++ b/mcs/class/System.Data/System.Data.Odbc/ChangeLog
@@ -1,3 +1,10 @@
+2005-06-28 Sureshkumar T <tsureshkumar@novell.com>
+
+ * OdbcDataReader.cs: GetPrimaryKeys (): use the length indicator
+ for GetString, otherwise, it creates a string of length 255. Use
+ ArrayList for keys as the columns are different from the selected
+ columns. fixes bug #75263.
+
2005-06-09 Sureshkumar T <tsureshkumar@novell.com>
* OdbcDataReader.cs: GetValue (): return decimal in case of odbc
diff --git a/mcs/class/System.Data/System.Data.Odbc/OdbcDataReader.cs b/mcs/class/System.Data/System.Data.Odbc/OdbcDataReader.cs
index 991b7124ece..f088a0969de 100644
--- a/mcs/class/System.Data/System.Data.Odbc/OdbcDataReader.cs
+++ b/mcs/class/System.Data/System.Data.Odbc/OdbcDataReader.cs
@@ -888,7 +888,7 @@ namespace System.Data.Odbc
if (cols.Length <= 0)
return new string [0];
- string [] keys = new string [cols.Length];
+ ArrayList keys = new ArrayList ();
IntPtr handle = IntPtr.Zero;
OdbcReturn ret = OdbcReturn.Error;
try {
@@ -920,8 +920,8 @@ namespace System.Data.Odbc
ret = libodbc.SQLFetch (handle);
if (ret != OdbcReturn.Success && ret != OdbcReturn.SuccessWithInfo)
break;
- string pkey = Encoding.Default.GetString (primaryKey);
- keys [i++] = pkey;
+ string pkey = Encoding.Default.GetString (primaryKey, 0, length);
+ keys.Add (pkey);
}
} catch (OdbcException){
// FIXME: Try using SQLStatistics
@@ -937,8 +937,7 @@ namespace System.Data.Odbc
}
}
-
- return keys;
+ return (string []) keys.ToArray (typeof (string));
}
public