读书人

数据库更新失败解决方法

发布时间: 2012-08-14 10:39:57 作者: rapoo

数据库更新失败

C# code
DataRow drForDelete;    public void DeleteDate()    {              drForDelete.Delete();        //调试,着一步骤成功执行。    }//删除drForDelete。    public void UseDatasetToUpdateTheDate()//更新数据库    {        DataSet dsUpdates;        try        {            dsUpdates = dsCurrent.GetChanges();            if (dsUpdates != null)            {                           modbdaCurrent.Update(dsUpdates);                dsCurrent.AcceptChanges();            }                   }//来到这里就抛出异常了。        catch (Exception ex)        {            this.error = ex.ToString();           //错误。        }    }

//异常提示:
System.InvalidOperationException: 当传递具有已删除行的 DataRow 集合时,更新要求有效的 DeleteCommand。 在 System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount) 在 System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount) 在 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping) 在 System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping) 在 System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable) 在 System.Data.Common.DbDataAdapter.Update(DataSet dataSet) 在 DataOleDb.UseDatasetToUpdateTheDate() 位置 c:\Users\Anson\Desktop\第12周\WebSite1\WebSite1\Default.aspx.cs:行号 277

在DataRow里面删除成功,但是无法更新到数据库。求解答


[解决办法]
public bool execSql(string sql)
{
int isUpdateOk = 0;
try
{
openConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sql;
isUpdateOk = (int)comm.ExecuteNonQuery();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
if (isUpdateOk > 0)
{
return true;
}
else
{
return false;
}
}
更新数据库的方法,调用就行

读书人网 >C#

热点推荐