我已经对此进行了很长时间的搜索,但没有提出任何建议,所以是时候寻求 SO 的帮助了。
我有一个搜索功能,可以同时在两个表中搜索一个值,只显示最新的记录。其中一个表将来自一组四个表,用户必须从下拉列表中选择这些表。对于相似的数据,所有这四个表都有不同的列名,所以我必须根据该下拉选择决定在 Eval() 中放入什么。
下面是在 ListView 中填充一个单元格的代码:
<%# If(CheckOverrides(Eval("MemUniqID"), "txtFirstName") <> Nothing,
CheckOverrides(Eval("MemUniqID"), "txtFirstName"),
Eval(FindDBField("txtFirstName"))
)
%>
基本上,我必须将唯一标识符和另一个参数传递给函数以查找最新记录(位于覆盖表中)。如果函数不返回任何内容,则将显示原始数据(位于四个表之一中)。从 FindDBField 函数返回表的正确列名。
这样做的问题是,如果搜索结果太多,数据库连接就会退出并自行关闭。我一直在尝试找到一种更好的方法来解决这个问题,这将减少对数据库的调用(每次调用 CheckOverrides() 和 FindDBFields() 都会查询数据库一次,我有大约 8 个字段拉入每行的 ListView,因此每行返回 16 个查询),但我似乎无法正确处理代码。
有什么建议么?谢谢!