* UnitsInStock の数量とユーザーが購入したい数量を比較するにはどうすればよいですか? *
ここでは、DataSet に入れられた列のリストについて、SQL データベースにクエリを実行しています。「where」句は、私が現在ブラウズしているアイテムであり、この製品に関する現在のすべての情報を抽出しています。
データをデータ列に取得しようとしましたが、それを int の数量と比較する必要があります。
string selectionString =
"SELECT Products.ProductID, " +
"Products.ProductName, Categories.CategoryName, " +
"Suppliers.CompanyName, Products.QuantityPerUnit," +
"Products.UnitPrice, Products.UnitsInStock " +
"FROM Suppliers INNER JOIN (Categories " +
"INNER JOIN Products ON " +
"Categories.CategoryID = Products.CategoryID) " +
"ON Suppliers.SupplierID = Products.SupplierID " +
"WHERE Products.ProductID = " +
int.Parse(Session["Current Item"].ToString());
DataSet ds = new DataSet();//this is the dataset that keeps my columns and rows.
次に、最後の UnitsInStock 以外のすべての列をテキスト ボックスに割り当てるループがあります。私が扱う必要がある値は int の数量です。
ユーザーが開いたアイテムに応じて、各アイテムの在庫は異なります。そこで、開いた項目について、ユーザーが決定した変数の数量と、DataSet から抽出した数量を比較する方法を知りたいと思います。
UnitsInStock 列のインデックスは6です。QuantityPerUnit について心配する必要はありません。
ProductName、CatergoryName、CompanyName、QuantityPerUnit、UnitPrice、およびUnitsInStockを受け取るコードを次に示します。データセットがどのように使用されているかがわかります。
if (ds.Tables[0].Columns.Count != 0 &&
ds.Tables[0].Rows.Count != 0)
{
for (int index = 0; index < ds.Tables[0].Columns.Count - 1; index++)/// count -1, explain
{
labelArray[index].Text = ds.Tables[0].Columns[index].ColumnName;//named constant
if (index == 5) // The price field
{
textBoxArray[index].Text = ((Decimal)ds.Tables[0].Rows[0][index]).ToString("F");
}
else
textBoxArray[index].Text = ds.Tables[0].Rows[0][index].ToString();
では、データベースによって取得された数量と、テキスト ボックスから収集された、ユーザーが購入したい数量を比較するにはどうすればよいでしょうか。