我正在寻求意见,以及我是否错过了一个选项。
我正在使用 C# 和 mysql (MySqlDataReader) 编写一个小型库存和销售跟踪系统。由于 mysql 不允许每个连接有多个结果集(MySqlDataReaders),所以我陷入了困境。销售表单的行是用户控件。要选择的字段之一是项目编号。由于我不知道我将拥有多少商品或销售订单最终会包含多少行,因此我不确定以哪种方式进行编码。以下是我提出的选项。
1) 多次执行 SQL(每个用户控件一次)以获取项目。
2)打开多个连接,以便我可以获得多个结果集。
3) 将所有项目转储到 MainForm 中的列表中,并在每个用户控件中检索它。
从减少“触及数据库的角度”来看,选项 3 似乎是最佳选择,但如果我有数千个项目,这会导致内存问题吗?
有人知道哪一个是最有效的(考虑到数据库和内存)或者还有其他我没有想到的选择吗?
最佳答案
在 ASP.Net Webforms 中,有两种常见的方法可以解决此问题。
单个数据绑定(bind)控件,例如 GridView 或 ListView
中继器控件
无论哪种情况,将数千条记录推送到网页都不是一个好主意。如果您有很多查询结果,您希望在向用户显示结果方面发挥更多创意。
关于C#和mysql重复查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52321985/