当我在 btnRefresh 单击时调用 loadDatas()没有问题,但是用sendCommand("QUERY",null);从父窗体调时出现错误未处理的“System.Data.ConstraintException”类型的异常出现在 system.data.dll 中。其他信息: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。代码一:
=============================
private void loadDatas()
{
try 
{
// 打开连接。
this.sqlConnection1.Open();
// 在填充数据集前关闭约束检查。
// 这允许适配器填充数据集而不用考虑表之间的依赖项。
this.dsRentType1.EnforceConstraints = false;
this.dsRentType1.Clear();
this.sqlDataAdapter1.Fill(this.dsRentType1);
}
catch (System.Exception eLoad) 
{
// 在此处添加错误处理代码。
// 显示错误信息(如果有)。
System.Windows.Forms.MessageBox.Show(eLoad.Message);
}
finally 
{
// 重新打开约束检查。
dsRentType1.EnforceConstraints = true;
// 无论是否引发了异常都关闭连接。
this.sqlConnection1.Close();
}

//设置默认值
setDefaultValue();
}
代码二:
=============================
#region ICommandToChildren 成员 public int sendCommand(string commandType, ArrayList alCommand)
{
// TODO:  添加 FormBooks.sendCommand 实现
this.Focus();
switch(commandType)
{
case "QUERY":
loadDatas();
break;
case "NEW":
loadDatas();
break;
case "SAVE":
saveDatas();
break;
case "CANCEL":
cancelAll();
break;
case "LOV:STATUS":
al1 = alCommand;
MessageBox.Show(al1[0].ToString());
break;
default:
break;
}
return 0;
} #endregion
代码三:
=============================
private void btnRefresh_Click(object sender, System.EventArgs e)
{
loadDatas();
}=============================