por favor ayuda tengo mi consulta la pongo en la parte de abajo, y me marca un error que es "Ya hay un DataReader abierto asociado a este comando, debe cerrarlo primero." y es la unica consulta en mi form y no se por que marca ese error quiero comparar 2 fechas en la sentencia sql y no se por que marque eso de eso si hago la consulta hacia algo que no sean las fechas por ejemplo al nombre no me marca error... Gracias cualquier ayuda, el tipo de dato en mi sqlserver 2005 es datetime
conexion con = new conexion();
SqlTransaction transaction = null;
SqlCommand command = con.c.CreateCommand();
try
{
// BeginTransaction() Requires Open Connection
con.c.Open();
transaction = con.c.BeginTransaction();
DateTime d = DateTime.Parse(this.dateTimePicker1.Text );
// Assign Transaction to Command
command.Transaction = transaction;
// Execute 1st Command
command.CommandText = "select * from caja where fecha BETWEEN '" + d + "' and '" + d + "'";
SqlDataReader rdr = command.ExecuteReader();
while (rdr.Read())
{
listView3.Items.Add(new ListViewItem(new String[] { Convert.ToString(rdr.GetInt32(0)), Convert.ToString(rdr.GetDateTime(1)), Convert.ToString(rdr.GetDouble(2)), rdr.GetString(4), rdr.GetString(5), rdr.GetString(6), rdr.GetString(7), rdr.GetString(8) }));
}
rdr.Close();
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
finally
{
con.c.Close();
}