提交 ceefad76 编写于 作者: V vvaradhan

2010-10-01 Veerapuram Varadhan <vvaradhan@novell.com>

	** Fixes #561667
	* SqlCommand.cs (Dispose): While Disposing, set connection's
	datareader to null so the connection can be reused with another datareader.
上级 b2285ad8
2010-10-01 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #561667
* SqlCommand.cs (Dispose): While Disposing, set connection's datareader
to null so as the connection can be reused with another datareader.
2010-07-28 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #584833
......
......@@ -706,6 +706,8 @@ namespace System.Data.SqlClient {
if (disposed) return;
if (disposing) {
parameters.Clear();
if (Connection != null)
Connection.DataReader = null;
}
base.Dispose (disposing);
disposed = true;
......
2010-10-01 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlCommandTest.cs: Add test for bug#561667
2010-09-20 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataReaderTest.cs: Add test for bug#613087
......
......@@ -3019,6 +3019,37 @@ namespace MonoTests.System.Data.SqlClient
}
}
[Test] // bug#561667
public void CmdDispose_DataReaderReset ()
{
try {
conn = (SqlConnection) ConnectionManager.Singleton.Connection;
ConnectionManager.Singleton.OpenConnection ();
string query1 = "SELECT fname FROM employee where lname='kumar'";
string query2 = "SELECT type_int FROM numeric_family where type_bit = 1";
DataTable t = null;
t = GetColumns(conn, query1);
Assert.AreEqual ("suresh", t.Rows[0][0], "CmdDD#1: Query1 result mismatch");
t = GetColumns(conn, query2);
Assert.AreEqual (int.MaxValue, t.Rows[0][0], "CmdDD#2: Query2 result mismatch");
} finally {
ConnectionManager.Singleton.CloseConnection ();
conn = null;
}
}
private DataTable GetColumns(DbConnection connection, string query)
{
DataTable t = new DataTable("Columns");
using (DbCommand c = connection.CreateCommand())
{
c.CommandText = query;
t.Load(c.ExecuteReader());
}
return t;
}
// used as workaround for bugs in NUnit 2.2.0
static void AreEqual (object x, object y, string msg)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册