我正在尝试在使用数据表适配器时放松我的约束,但我得到一个对象引用没有设置为对象的实例错误。它发生在说ds.DataSet.EnforceConstraints = false;
的行上通常,我想知道如何防止dataTable强制执行约束。
ubsmysDataSetTableAdapters.FormSaveDataTableAdapter ta = new ubsmysDataSetTableAdapters.FormSaveDataTableAdapter();
myDataSet.FormSaveDataDataTable ds = new myDataSet.FormSaveDataDataTable();
ds.DataSet.EnforceConstraints = false;
if (isAdmin) ds = ta.GetByUserIdForAdminUser(userId);
else ds = ta.GetByUserId(userId);
ds.DataSet.EnforceConstraints = true;
我对此很新,所以任何帮助都会受到赞赏。
答案 0 :(得分:1)
尝试以下操作,您可能需要调整蓝色文字,以便与您的文字完美匹配,但您应该能够理解:
使用“填充”方法获取数据:
ubsmysDataSet ds = new ubsmysDataSet();
ubsmysDataSet.FormSaveDataDataTable dt = new ubsmysDataSet.FormSaveDataDataTable();
ds.Tables.Add(dt);
ds.EnforceConstraints = false;
ubsmysDataSetTableAdapters.FormSaveDataTableAdapter ta = new ubsmysDataSetTableAdapters.FormSaveDataTableAdapter();
if (isAdmin)
{
}
else
{
ta.FillByUserId(dt,130559)
}
ds.EnforceConstraints = true;
请参阅上面添加的行。
答案 1 :(得分:0)
new myDataSet.FormSaveDataDataTable();
正在返回null
,因此当您尝试ds
时,null
将为ds.DataSet.EnforceConstraints = false;
。
这里有些不对劲,但由于你还没有发布所有代码,我们无法完全评估。