2015-09-04 5 views
1

Я использую IronSpeed ​​Designer 12.2 и пытаюсь написать собственный SQL в переопределении WhereClause. Пользовательский SQL, который я написал и отправил в WhereClause, бросает исключение SQL, но я не вижу, как SQL IronSpeed ​​отправляет в базу данных. Без SQL я не могу устранить неполадки.Как вы видите, что SQL IronSpeed ​​отправляет в базу данных?

Я не могу найти, где SQL отправлен в базу данных, например, вызовом метода ExecuteReader.

Я использую заявление, как это:

if (MiscUtils.IsValueSelected(this.MyFilter)) {        
      String sql = "(EXISTS (SELECT TOP 1 CompanyId FROM Collateral as c WHERE CODE = '{0}' AND c.CompanyId = Company.CompanyId))"; 
      wc.iAND(String.Format(sql, this.MyFilter.SelectedValue));     
     } 

Я знаю, что мой WhereClause SQL правильно, когда используется вне IronSpeed, потому что я копировать-вставить его из запроса, работающих непосредственно в MSSQL. Однако я не вижу, как IronSpeed ​​объединяет его со своим внутренне сгенерированным SQL после того, как он становится WhereClause.

Я надеюсь, что у кого-то есть опыт работы с этой проблемой и может указать мне в правильном направлении. Спасибо за помощь!

ответ

1

Если вы ищете ответ достаточно долго, вы можете найти его сами. Вот как я нашел, что вы можете изучить SQL, отправленные в базу данных:

  1. Перейти к C: \ Program Files \ Iron Speed ​​\ Designer v12.2.0.
  2. Скопируйте папку BaseClasses в корень моей папки решения IronSpeed.
  3. Добавить существующий проект BaseClasses в решение IronSpeed.
  4. Удалить существующие ссылки на baseclasses.dll из проектов в решении IronSpeed ​​(я использую веб-приложение, а не проект веб-сайта).
  5. Добавьте ссылки на проект BaseClasses, который теперь включен в решение.
  6. Открыть файл MicrosoftDynamicSQLAdapter.vb.
  7. В методе GetRecordValuesEx (...) перейдите к строке 1514: «reader = SqlTransaction.ExecuteReader (myCommand, cmdBehavior)» и установите точку останова в этой строке.
  8. Запустить проект. Когда точка останова попадет, проверьте команду объекта myCommand.
+0

Nice find! Я тоже не мог видеть, где heck - это весь SQL, который ISpeed ​​использует в моем приложении! Разочарование того, что IronSpeed ​​не позволяет вам редактировать его прямо в приложении. – Fandango68