I keep getting an exception when I call the DataAdapter Update method.
I have been trying to figure out what is causing the null reference
exception for this code for what seems like forever:
The exception information has not been helpful. All it says is: "Object
reference not set to an instance of an object."
I don't know if this will help, but the Insert command looks like this:
Does any one have any idea what is going on here or how to go about
finding out? Any suggestions would be appreciated: I don't even know
how to figure out which reference is null!
I have been trying to figure out what is causing the null reference
exception for this code for what seems like forever:
Code:
private void DoUpdates (OdbcDataAdapter odbcDataAdapter, string tableName)
{
DataTable dataTableChanged =
dsTapes.Tables[tableName].GetChanges(DataRowState.Modified);
if ((dataTableChanged != null) && (dataTableChanged.Rows.Count > 0))
{
// Open the connection if its not already open.
if (odbcConnection.State != System.Data.ConnectionState.Open)
{
odbcConnection.Open();
}
//Create a new transaction.
odbcDataAdapter.UpdateCommand.Transaction = odbcConnection.BeginTransaction();
try
{
//Submit the changes.
odbcDataAdapter.Update(dataTableChanged);
//Commit the changes and close the connection.
odbcDataAdapter.UpdateCommand.Transaction.Commit();
}
catch (Exception ex)
{
odbcDataAdapter.UpdateCommand.Transaction.Rollback();
throw(ex);
}
}
}
reference not set to an instance of an object."
I don't know if this will help, but the Insert command looks like this:
Code:
tapeLogInsert = odbcConnection.CreateCommand();
tapeLogInsert.CommandText =
"INSERT INTO " + tapeLogODBCName.Trim()
+ " (NBR, Backup_Name, BakDate, ScrDate, Location, "
+ "Tape_No, Tape_Set, Usage, Comment, UseDate) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
tapeLogInsert.Parameters.Add(new OdbcParameter("NBR", OdbcType.Int));
tapeLogInsert.Parameters["NBR"].SourceColumn = "nbr";
tapeLogInsert.Parameters.Add("Backup_Name", OdbcType.Char, 17, "backup_name");
tapeLogInsert.Parameters.Add(new OdbcParameter("BakDate", OdbcType.DateTime));
tapeLogInsert.Parameters["BakDate"].SourceColumn = "bakdate";
tapeLogInsert.Parameters.Add(new OdbcParameter("ScrDate", OdbcType.DateTime));
tapeLogInsert.Parameters["ScrDate"].SourceColumn = "scrdate";
tapeLogInsert.Parameters.Add("Location", OdbcType.Char, 1, "location");
tapeLogInsert.Parameters.Add(new OdbcParameter("Tape_No", OdbcType.SmallInt));
tapeLogInsert.Parameters["Tape_No"].SourceColumn = "tape_no";
tapeLogInsert.Parameters.Add(new OdbcParameter("Tape_Set", OdbcType.SmallInt));
tapeLogInsert.Parameters["Tape_Set"].SourceColumn = "tape_set";
tapeLogInsert.Parameters.Add(new OdbcParameter("Usage", OdbcType.SmallInt));
tapeLogInsert.Parameters["Usage"].SourceColumn = "usage";
tapeLogInsert.Parameters.Add("Comment", OdbcType.VarChar, 50, "comment");
tapeLogInsert.Parameters.Add(new OdbcParameter("UseDate", OdbcType.DateTime));
tapeLogInsert.Parameters["UseDate"].SourceColumn = "usedate";
tapeLogAdapter.InsertCommand = tapeLogInsert;
finding out? Any suggestions would be appreciated: I don't even know
how to figure out which reference is null!