Usando esto dentro de un componente de script SSIS. Acabo de usar el ejemplo de arriba que incluía "#" alrededor de las fechas. También convertí cada uno a una cadena. Esto funcionó perfectamente.
Por si acaso quieres saber cómo configuré esto dentro de SSIS: Primero tuve un flujo de datos usando el destino del conjunto de registros con una variable Object para almacenar el conjunto de registros.
en mi secuencia de comandos Incluí la variable como de solo lectura.
En la clase principal ...
public class ScriptMain : UserComponent
{
OleDbDataAdapter a = new OleDbDataAdapter();
System.Data.DataTable AwardedVacTable = new System.Data.DataTable();
...
...
después en Pre-Ejecutar ...
public override void PreExecute()
{
base.PreExecute();
a.Fill(AwardedVacTable, Variables.rsAwardedVac);
...
...
entonces en un método personalizado accede a la tabla de datos ...
String dtFilter = "EmployeeID = " + empId.ToString() + " AND (#" + Convert.ToString(StartDate) "# <= EndDate AND #" + Convert.ToString(StartDate) + "# >= StartDate" + " OR #" + Convert.ToString(StartDate.AddDays((double)numDays)) + "# >= StartDate AND #" + Convert.ToString(StartDate.AddDays((double)numDays)) + "# <= EndDate)";
DataRow[] Overlaps = AwardedVacTable.Select(dtFilter);
ok lo tengo. string testing = date1.ToString ("MM/dd/aaaa"); DataRow [] foundRows; foundRows = dt.Select ("DATE1 <= '#" + testing + "#' AND DATE2> = '#" + testing + "#'"); decimal value1 = System.Convert.ToDecimal (foundRows [0] [0]); –
lo que sucede en el caso de que el seleccionado no contenga nada. ex. la fecha está fuera de los límites? –