>System.InvalidCastException: Unable to cast object of type 'System.String' to type 'System.Data.IDbCommand'. > at OakLeaf.MM.Main.Data.mmDataAccessBase.CreateUpdateSelectCommand(DataSet ds, String tableName) > at OakLeaf.MM.Main.Data.mmDataAccessSql.SaveDataSet(DataSet ds, String tableName, String primaryKeyName, Boolean retrieveAutoIncrementPK, IDbDataAdapter dbAdapter) > at OakLeaf.MM.Main.Business.mmBusinessObject.SaveDataSet(DataSet ds, String tableName, String databaseKey, IDbDataAdapter dbAdapter) > at OakLeaf.MM.Main.Business.mmBusinessObject.SaveDataSet(DataSet ds, String tableName, String databaseKey) > at OakLeaf.MM.Main.Business.mmBusinessObject.SaveDataSet(DataSet ds, String tableName) > at OakLeaf.MM.Main.Business.mmBusinessObject.SaveDataSet(DataSet ds) > at OakLeaf.MM.Main.Web.UI.mmBusinessWebPage.Save(mmBusinessObject bizObj, DataSet ds, String tableName) > at OakLeaf.MM.Main.Web.UI.mmBusinessWebPage.Save(mmBusinessObject bizObj, String tableName) > at OakLeaf.MM.Main.Web.UI.mmBusinessWebPage.Save(mmBusinessObject bizObj) >Have you set a value in the business object's UpdateSelectCommand, or did you override the CreateUpdateSelectCommand() method? I recommend setting a breakpoint in mmDataAccessSql.CreateUpdateSelectCommand() and run your code to see what's happening.