Why does this code fail?
While these two methods succeed?Code:sqlCMD.Parameters.Add(new SqlParameter("@id_test", SqlDbType.Int).Value = dataRow.Isid_testNull() ? DBNull.Value : (object)dataRow.id_test);
Code:sqlCMD.Parameters.Add(new SqlParameter("@id_test", SqlDbType.Int)); sqlCMD.Parameters["@id_test"].Value = dataRow.Isid_testNull() ? DBNull.Value : (object)dataRow.id_test;I found nothing on MSDN about the error generated:Code:SqlParameter param = new SqlParameter(); param.ParameterName = "@id_test"; param.SqlDbType = SqlDbType.Int; param.Value = dataRow.Isid_testNull() ? DBNull.Value : (object)dataRow.id_test; sqlCMD.Parameters.Add(param);
[System.InvalidCastException] {"The SqlParameterCollection only accepts non-null SqlParameter type objects, not DBNull objects." }




Reply With Quote