【发布时间】:2025-11-25 16:05:01
【问题描述】:
我有用于从 SQL Server CE 表中查询数据并用它填充通用列表的代码。那可以看here:
但是那里的评论表明我应该用我的马车换成 Leer Jet;所以,我正在尝试修改我找到的代码 here 并且到目前为止:
public static List<HHSUtils.InventoryItem> SelectLocalInventoryItemsTableDirect()
{
var invItems = new List<HHSUtils.InventoryItem>();
using (var conn = new SqlCeConnection(dataSource))
{
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.TableDirect;
cmd.CommandText = "InventoryItems";
using (SqlCeResultSet rs cmd.ExecuteResultSet(ResultSetOptions.Scrollable))
{
cmd.Prepare();
while (rs.Read())
{
var invItem = new HHSUtils.InventoryItem
{
Id = Convert.ToString(rs["Id"]),
PackSize = Convert.ToInt16(rs["PackSize"]),
Description = Convert.ToString(rs["Description"]),
DeptDotSubdept = Convert.ToDouble(rs["DeptDotSubdept"]),
Unit_Cost = Convert.ToDouble(rs["UnitCost"]),
Unit_List = Convert.ToDouble(rs["UnitList"]),
UPC_code = Convert.ToString(rs["UPCCode"]),
UPC_pack_size = Convert.ToInt16(rs["UPCPackSize"]),
CRV_Id = Convert.ToInt32(rs["CRVId"])
};
invItems.Add(invItem);
}
}
}
return invItems;
}
...但是由于我只是循环遍历结果集以填充通用列表,因此我认为我不想要 ResultSetOptions.Updatable (并且我需要在此之后使用不同的代码)。以下几种可能:
Insensitive
None
Scrollable
Sensitive
Updatable
...哪个最适合我的情况 - 可滚动?
更新
这似乎工作得很好,而且速度很快,但我仍然不知道哪个 ResultSetOptions 属性是最佳的...This msdn article 谈到了这个枚举,但并没有深入探讨什么时候应该/不应该使用。
【问题讨论】:
标签: c# sql-server-ce compact-framework windows-ce