Возможный препятствовать тому, чтобы наш веб-сайт работал в frameset или IFrame другого домена?

Запрос, вызвавший проблему: SELECT TOTAL_PRFT / NO_OF_INSTALLMENT FROM InsightSource.BS.IS_H_LD_SCHEDULE. Он должен возвращать только одну строку данных, ваш возвращает несколько.

Здесь есть две проблемы:

1 - та, которую вы указали в своем вопросе: подзапрос может вернуть более 1 результата. Вам нужно установить «определитель», к которому данные вы хотите. Например: если ваша таблица выглядит примерно так:

ID Total_prft No_Of_Installment
1     15            3
2     20            5

Тогда вы можете сделать так: SELECT TOTAL_PRFT / NO_OF_INSTALLMENT FROM InsightSource.BS.IS_H_LD_SCHEDULE WHERE ID = @ID, где @ID - это предопределенная переменная (возможно, вы можете получить ее из таблицы GL) .

Или, как рекомендует @Suraj Kumar, вы также можете использовать ключевое слово TOP 1, если оно работает для вас.

2- Другая проблема заключается в том, что вы не проверяете, является ли No_OF_Installment нулевым или нулевым, что приведет к ошибке деления. Пожалуйста, добавьте чек, добавив что-то вроде:

WHEN LDContractType = 'AMORT' THEN (
          case when NO_OF_INSTALLMENT IS NOT NULL AND NO_OF_INSTALLMENT > 0
               THEN SELECT TOTAL_PRFT / NO_OF_INSTALLMENT FROM InsightSource.BS.IS_H_LD_SCHEDULE
               ELSE 0 
          END)
...
6
задан casperOne 27 July 2012 в 13:42
поделиться

3 ответа

Я услышал о решениях этой проблемы, упоминающейся как "сценарий кнопки кадра". Быстрый Google придумывает этот поток. Похож это - один из самых простых:

if (window != top) top.location.href = location.href; 
5
ответ дан 9 December 2019 в 22:41
поделиться

Смотрите на эту статью. Это предлагает довольно простое решение для обнаружения кадров и убегающий из них.

Как убежать из кадров с JavaScript

Кроме того, я взял бы его один шаг вперед. Каждый раз, когда Вы обнаруживаете кадр, захватываете идентификатор филиала незаконного создателя сайта и нажатие, что к серверу с Ajax наряду с URL они используют. Затем или автоматически или вручную, можно проверить, что они структурируют сайт и отменяют их код филиала по одному.

2
ответ дан 9 December 2019 в 22:41
поделиться

Просто предположив здесь..., но что, если Вы используете JavaScript для вызова родительского окна для доступа к его объекту документа? Вы могли проверить, если не пустой, и если существует родительское окно (значение кадра загрузило Ваш сайт), Вы могли скрыть весь свой HTML через JavaScript...

0
ответ дан 9 December 2019 в 22:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: