我创建了一个Winforms项目,该项目具有一些对数据库进行调用的类。
作为示例,这些类之一称为OwnerDB,它包括一种将新Owner插入数据库中Owner表的方法。
当插入所有者时,我想使用委托和事件来调用用于更新其他窗体上的ComboBoxes或DataGridViews的方法。
您能告诉我是否编写正确吗?或者是否应该使用其他方法来完成此操作?
class OwnerDB
{
public delegate void AddOwnerToList();
public static event AddOwnerToList AddOwner;
public static void InsertIndividualOwner(TaxInfo taxInfo, OwnerAddress address, OwnerEmailAddress emailAddress, IndividualOwner owner)
{
using (connection)
using (SqlCommand insertCompanyOwner = new SqlCommand("spCompanyOwnerTransaction", connection))
{
// Removed parameters to shorten code
insertIndividualOwner.ExecuteNonQuery();
AddOwner?.Invoke();
}
}
}
在我的一种表单的构造函数中,我有下面的代码
public frmOwnerManager()
{
InitializeComponent();
OwnerDB.AddOwner += LoadOwners;
}