2016-08-26 120 views
-1

我想制定一个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

UPDATE

我所到目前为止已经试过减去:

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"); 
    ... 

并表示输入字符串格式不正确。字段Quantitytext 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."); 
    } 
} 

如果这不是你想要的,请让我知道。

+0

先生它必须是“数量> =行。数量”,但是如何我可以这样做吗? –

+0

我为此更改了'if'子句,假设'Quantity'是一个局部变量,字段或参数。如果不是,只要把数量在那个位置。 –

+0

在当前上下文中不存在“数量”名称 –