2010-10-05 18 views
4

我是否使用SqlServices.Uninstall()以編程方式從數據庫中卸載ASP.NET Membership表和其他東西?但是,當表格保存舊數據時,它不起作用,出現以下錯誤消息:如何強制Sqlservices.Uninstall刪除舊數據呢?

由於數據庫[DBNAME]中的SQL表'aspnet_Membership'不爲空,無法卸載指定的功能。您必須先刪除表格中的所有行。

有沒有辦法告訴SqlServices或.NET中的任何其他類來擦除這些舊數據呢?

回答

0

您可以使用以下從數據庫中刪除每個用戶。

foreach (MembershipUser user in Membership.GetAllUsers()) 
      Membership.DeleteUser(user.UserName, true);    
     SqlServices.Uninstall() 

小心:

上面的代碼執行從卸載方法1 + N(刪除語句)+ SQL語句 其中在數據庫中的用戶的n ==可數。所以它不是很有效率。

如果你想要更有效率的東西,你必須編寫自己的存儲過程。