Public void IntervalExample(TdCommand cmd, String model)
{
cmd.Parameters.Clear();
cmd.CommandText = "SELECT StartDate, LeaseReturn, DelayPeriod " +
"FROM AutoLeases " +
"WHERE Model = ?";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add(null, TdType.VarChar, 10,
ParameterDirection.Input, true, 0, 0, null,
DataRowVersion.Default, model);
Int32 row = 0;
TdDate [] startDate;
TdTimestamp [] leaseReturn;
TdIntervalHour [] leaseLen;
using (TdDataReader dr = cmd.ExecuteReader())
{
startDate = new TdDate[dr.RecordsReturned];
leaseReturn = new TdTimestamp[dr.RecordsReturned];
leaseLen = new TdIntervalHour[dr.RecordsReturned];
// Specifying an interval of 7 days, 1 hour with a day precision of 4
TdIntervalHour leaseReturnExtension = new TdIntervalHour(169, 4);
while (dr.Read())
{
// Retrieving the dates
startDate[row] = dr.GetTdDate(0);
leaseReturn[row] = dr.GetTimestamp(1);
leaseLen[row] = dr.GetTdIntervalHour(2);
// Adding extension to the lease return
leaseReturn[row] = leaseReturn[row] + leaseReturnExtension;
// Adding extension to the lease length;
leaseLen[row] = leaseLen[row] + leaseReturnExtension;
row++;
}
}
cmd.Parameters.Clear();
cmd.CommandText = "UPDATE AutoLeases " +
"SET LeaseReturn = ?, LeaseLen = ? " +
"WHERE Model = ?";
cmd.Parameters.Add(null, TdType.Timestamp, 0,
ParameterDirection.Input, true, 0, 0, null,
DataRowVersion.Default, null);
cmd.Parameters.Add(null, TdType.IntervalHour, 0,
ParameterDirection.Input, true, 0, 0, null,
DataRowVersion.Default, null);
cmd.Parameters.Add(null, TdType.VarChar, 9,
ParameterDirection.Input, true, 0, 0, null,
DataRowVersion.Default, model);
row--;
while(row >= 0)
{
cmd.Parameters[0].Value = leaseReturn[row];
cmd.Parameters[1].Value = leaseLen[row];
cmd.Parameters[2].Value = model;
cmd.ExecuteNonQuery();
row--;
}
}