所以我正在练习使用带有 ASP.Net 的数据库......
我有两个来自 Northwind 数据库的数据表列。一个是Product.ProductID
,另一个是Product.UnitsInStock
。我需要将其与对象集合(SortedList)进行比较。本质上是比较变量产品 ID 和数量(客户端)。对象是ICollection
保存在 中的值Session["cart"]
。
如何将我拥有的产品 id 和库存单位变量与 DataTable 列 1 是 Products.ProductID 和第二列是 Products.UnitsInStock 进行比较?
这是查询以及我认为我可以如何从数据库中获取这些变量的大致内容。
DataTable dt = new DataTable();
if (dt.Columns.Count != 0 &&
dt.Rows.Count != 0)
{
int quantityOfUnit = 0;
int productID = 0;
for (int index = 0; index < dt.Columns.Count; index++)
{
if (index == indexOfUnitsInStock)//indexOfUnitsInStock = 1
{
quantityOfUnit = int.Parse(dt.Rows[0][index].ToString());
}
else//index = 0
{
productID = int.Parse(dt.Rows[0][index].ToString());
}
}
建立一个新的查询:
foreach (object items in ((ShoppingCart)Session["cart"]).Values)
{
OleDbConnection conn = new OleDbConnection((string)Application["DBConnectionString"]);
string selectionString =
"SELECT Products.ProductID, Products.UnitsInStock " +
"FROM Products" +
"WHERE Products.ProductID = " +
((ShoppingCart)Session["cart"]).Values;
DataTable dt = new DataTable();
try
{
OleDbCommand cm = new OleDbCommand(selectionString, conn);
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cm;
da.Fill(dt);
da.Dispose();
}
catch(Exception ex)
{
txtUnderstockedItems.Text = "There was a problem connecting to the database: " + ex.Message ;
}
finally
{
conn.Close();
}
}