これが私のコードです:
string cmdstr = "UPDATE itemsordered i " +
                "INNER JOIN"+
                    "(  SELECT itemsOrdered_quantity, itemsOrdered_ID,  "+
                            "IF itemsOrdered_quantity = '"+quantityTxtBox.Text+"' SELECT 'EQUAL' "+
                            "IF itemsOrdered_quantity < '" + quantityTxtBox.Text + "' SELECT 'LESS' " +
                            "IF itemsOrdered_quantity > '" + quantityTxtBox.Text + "' SELECT 'MORE'  " +
                        "END AS r "+
                        "FROM itemsordered "+
                    ") res ON i.itemsOrdered_ID = res.itemsOrdered_ID "+
               "INNER JOIN stocksdb s ON s.stock_ID = i.stock_ID " +
               "SET s.stock_quantity = (s.stock_quantity + i.itemsOrdered_quantity), " +
                   "s.stock_dateUpdated = '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "', " +
                   "i.itemsOrdered_status = 'RECEIVED', " +
                   "i.itemsOrdered_dateReceived = '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "'" +
                   "WHERE i.itemsOrdered_ID = '" + idTxtBox.Text + "' AND res.r = 'EQUAL'";
cmd = new MySqlCommand(cmdstr, db.mycon);
cmd.ExecuteNonQuery();
MessageBox.Show("ITEM RESTOCKED!");
私が実際にやりたいのは、itemsOrdered_quantityがの値と等しい場合、現在の金額にの金額を追加することによってをquantityTxtBox更新することです。s.stock_quantityitemsOrdered_quantity
私が作りたい他のIF句もあります。しかし、私は最初にこのジレンマを解決したいと思います。
エラーを返し、cmd.ExecuteNonQueryIFステートメントの近くにあるSQL文字列を指します。