检查字段名称是否为零

时间:2016-08-26 01:50:17

标签: c# ms-access

我想创建if条件,它将检查字段名称的值,或者字段名是否小于或等于用户给出的数字,以便数据字段的值不会等于negative。我的问题是如何在if条件下声明字段名称?请善待并随意编辑我的问题。

以下是编码:

if (reader.Read())
   {
   OleDbCommand cmd = new OleDbCommand(@"Update TblInventory set 
Quantity = Quantity - @Quantity WHERE ItemCode = @itemcode");
   cmd.Connection = con;

   cmd.Parameters.AddWithValue("@Quantity", Convert.ToInt32(row.Quantity));
   cmd.Parameters.AddWithValue("@itemcode", row.Item);
   cmd.Parameters.AddWithValue("@DateAndTime", time);
   cmd.ExecuteNonQuery();
   MessageBox.Show("You added " + row.Quantity + " " + row.Product, "Existing Item");
}

修改

输入数量将从field Quantity

中减去

更新

到目前为止我尝试了什么:

cmd.Connection = con;
cmd.Parameters.AddWithValue("@Quantity", Convert.ToInt32(row.Quantity));
cmd.Parameters.AddWithValue("@itemcode", row.Item);
cmd.Parameters.AddWithValue("@DateAndTime", time);
int intQuantity = Convert.ToInt32(row.Quantity);
   if (Convert.ToInt32("@Quantity") >= intQuantity)
   {
   cmd.ExecuteNonQuery();
   MessageBox.Show("Congrats");
   ...

并说输入字符串的格式不正确。字段Quantity位于text form.

1 个答案:

答案 0 :(得分:0)

此代码检查Quantity是否大于或等于row.Quantity

if (reader.Read())
{
   OleDbCommand cmd = new OleDbCommand(@"Update TblInventory set 
   Quantity = Quantity + @Quantity WHERE ItemCode = @itemcode");
   cmd.Connection = con;

   cmd.Parameters.AddWithValue("@Quantity", Convert.ToInt32(row.Quantity));
   cmd.Parameters.AddWithValue("@itemcode", row.Item);
   cmd.Parameters.AddWithValue("@DateAndTime", time);

   if (Quantity >= Convert.ToInt32(row.Quantity))
   {
       cmd.ExecuteNonQuery();
       MessageBox.Show("You added " + row.Quantity + " " + row.Product, "Existing Item");
   }
   else
   {
       MessageBox.Show("Quantity must not be negative.");
   }
}

如果这不是你想要的,请告诉我。