Страница 1 из 1

Использование события Connected

Добавлено: 11 мар 2010, 17:39
Serpentariy
Здравствуйте.

Хочу при наступлении события Connected объекта соединение выполнить некий скрипт. В дизайнере в Properties соединения перехожу на закладку Events Tab,
нажимаю кнопку с тремя точками напротив ConnectedEvent ожидая, что откроется окно для ввода скрипта, но получаю следующее сообщение:
Object reference not set to an instance of an object.
Подскажите, что я делаю не так и как правильно.
Stimulsoft Reports.Net 2010.1.630

Спасибо.

Использование события Connected

Добавлено: 12 мар 2010, 11:07
Jan
Здравствуйте,

Это ошибка. Патч будет доступен в билде от 15 марта.

Спасибо.

Использование события Connected

Добавлено: 16 мар 2010, 09:11
Serpentariy
Здравствуйте.

Спасибо, теперь окно для ввода скрипта открывается. Я ввожу туда SQL-скрипт и при попытке посмотреть отчёт получаю ошибку. Что-то мне подсказывает, что я неправильно использую данное событие. Подскажите, как правильно.

Спасибо.

Использование события Connected

Добавлено: 16 мар 2010, 14:53
Jan
Здравствуйте,

Пожалуйста, покажите скприт, который Вы используете. Также интересует полный стек ошибки.

Спасибо.

Использование события Connected

Добавлено: 17 мар 2010, 04:11
Serpentariy
Здравствуйте.

В открывающемся окне ввода скрипта пишу: SET ARITHABORT ON; SET TEXTSIZE 64512; и получаю ошибку сообщающую, что требуются точки с запятой. Если вводимый скрипт помещаю в кавычки, то получаю ошибку сообщающую следующее: Only assignment, call, increment, decrement, and new object expressions can be used as a statement. Т.е. это синтаксические ошибки, а не ошибки выполнения. Подскажите как от них избавиться.

Спасибо.

Использование события Connected

Добавлено: 17 мар 2010, 06:03
Jan
Здравствуйте,

Извините, просмотрел в предыдущем посте слова про SQL скрипт. Connected событие требует скрипта написанного на c#, т.е. с использованием скрипта отчета. В данном случае можно воспользоваться стандартными способами запуска запросов в ado.net. Напрямую запустить SQL скрипт не получится.

Спасибо.

Использование события Connected

Добавлено: 17 мар 2010, 09:32
Serpentariy
Спасибо, понятно. Тогда не могли бы Вы объяснить как внутри события Connected получить само соединение, которое на данный момент уже открыто, и привести его к типу SqlConnection с тем, чтобы использовать его в конструкторе SqlCommand?

Спасибо.

Использование события Connected

Добавлено: 18 мар 2010, 03:23
Jan
Здравствуйте,

Можно использовать такой код:

Код: Выделить всё

SqlConnection connection = null;

foreach (Stimulsoft.Report.Dictionary.StiData data in this.DataStore)
{
  if (data.Name == "Connection")
  {
    connection = data.Data as SqlConnection;
	break;
  }
}
Спасибо.