I was wondering what the correct format of using DBNull for identifying the parameter.
Code: Select all
private OracleCommand CreateCommand(String szQuery, Parameter[] aParameters)
{
OracleParameter l_oOracleParameter;
OracleCommand l_oOracleCommand = new OracleCommand(szQuery, m_oOracleConnection, m_oOracleTransaction);
l_oOracleCommand.CommandType = CommandType.Text;
for (int i = 0; i < aParameters.Length; i++)
{
l_oOracleParameter = new OracleParameter(":" + aParameters[i].Name, ConvertType(aParameters[i]), aParameters[i].Size);
l_oOracleParameter.Direction = ParameterDirection.Input;
if (aParameters[i].Data is DateTime &&
aParameters[i].Data.Equals(DateTime.MaxValue))
{
l_oOracleParameter.Value = DBNull.Value;
}
else
{
if (IsEmptyData(aParameters[i]))
{
l_oOracleParameter.IsNullable = true;
l_oOracleParameter.Value = DBNull.Value;
}
else
l_oOracleParameter.Value = aParameters[i].Data;
}
l_oOracleCommand.Parameters.Add(l_oOracleParameter);
log.Warn("'" + l_oOracleParameter.Value + "'");
}
return l_oOracleCommand;
}
IsEmpty checks if my parameter is null, and if it is, I try setting the new parameter I'm creating to DbNull. Still getting some problems though...
Do I also need to do that IsNullable every time?
any ideas?