我在静态类中的表适配器中创建了一个查询,它执行以下查询:
SELECT
d.Date, c.Activity, b.Balance
FROM
dbo.BalanceImport b
LEFT JOIN dbo.CashActivity c ON c.Sequence = b.Seq_CashActivity
LEFT JOIN dbo.dimDate d ON d.Sequence = b.Seq_dimDate
WHERE
d.Date = @Date
调用它的代码如下:
public static DataView GetImportByDate(DateTime importDate)
{
return _BalanceImportTableAdapter.GetBAIByDate(importDate.ToShortDateString()).DefaultView;
}
但是,当我调用它时,我收到以下错误消息:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
FWIW,我们使用Erwin建模数据,然后在我们的数据库中自动生成一些触发器,但是我现在已经禁用了所有这些触发器。
当我在SSMS中手动运行查询时,以及在DataSet的查询生成器中测试它时,它正在工作,但在我运行代码时却没有。
Stack Trace为我带来了BAIImportTable
Adapter方法的以下生成代码:
public virtual FinanceDWDataSet.BalanceImportDataTable GetBAIByDate(string Date) {
this.Adapter.SelectCommand = this.CommandCollection[1];
if ((Date == null)) {
throw new global::System.ArgumentNullException("Date");
}
else {
this.Adapter.SelectCommand.Parameters[0].Value = ((string)(Date));
}
FinanceDWDataSet.BalanceImportDataTable dataTable = new FinanceDWDataSet.BalanceImportDataTable();
this.Adapter.Fill(dataTable);
return dataTable;
}