2016-08-26 30 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

在當前上下文中不存在「數量」名稱 –