【发布时间】:2018-01-24 15:52:08
【问题描述】:
我正在使用 SQLite 和数据集。在我的数据库中,我有相互引用的表。让我们称它们为 Table1、Table2、...这是我将用作示例的 EER 图的表示:
我以 Table1Row 的形式从数据集中获取数据,并且该对象具有非常有用的生成方法 Table2Row[] table1Row.GetTable2Rows() 和生成的 Table3Row 参数,如果您只能对 Table3 有一个引用。但是如果我调用这个方法,我得到的结果是一个空集合并且参数为空。所有其他属性都是正确的,我很确定表格填写正确。
我的选择查询很简单:
SELECT * FROM table1 WHERE key = @key;
但即使我使用预定义的 getData,问题仍然存在。之后,我使用 TableAdapter 来获取正确的行:
Table1DataTable table1DataTable = table1TableAdapter.GetDataByKey();
return table1DataTable.FindByKey(key);
这个问题很难找到解决办法,因为生成的方法的名字总是不同的。
感谢您的帮助
编辑: 这是生成的方法:
public virtual DataSet.Table1DataTable GetDataByKey(long key) {
this.Adapter.SelectCommand = this.CommandCollection[1];
this.Adapter.SelectCommand.Parameters[0].Value = ((long)(key));
DataSet.Table1DataTable dataTable = new DataSet.Table1DataTable();
this.Adapter.Fill(dataTable);
return dataTable;
}
【问题讨论】:
-
GetRows method created by dataset returns null我想你可能忘记在帖子中包含该代码。 -
不,我只是没有发现这部分很有用,因为标准的 GetData 方法也不起作用我不认为这是问题所在。我认为更多的是整个方法是错误的,或者在获取数据后我缺少一个额外的步骤