Работа с базой данных SQL

Оценить
(0 голоса)

Многие корпоративные базы данных хранятся в клиент-серверных системах управления базами данных SQL, таких как Microsoft SQL Server, Oracle и Informix. Большинство приложений Visual Basic предусматривает внешние интерфейсы для этих систем баз данных и поэтому нуждается в возможностях, позволяющих создавать отчеты на основе баз данных SQL и работать с ними. RDC имеет несколько свойств и методов, которые помогают интегрировать отчеты, созданные на основе баз данных SQL.

Пожалуй, наиболее распространенным способом взаимодействия с базами данных SQL является предоставление данных удостоверения. Этот вопрос уже рассматривался в этой главе, в разделе “Предоставление удостоверения для подключения к базе данных”.

Извлечение или создание SQL-запроса. Когда вы отправляете формулу выбора записей, как описывалось ранее в этой главе, RDC автоматически генерирует SQL-оператор для отправки серверу базы данных. Однако если формула выборки записей содержит формулу Crystal Reports или какие-то другие “сложные” компоненты, не позволяющие RDC сгенерировать в SQL-операторе конструкцию WHERE, производительность отчета может значительно снизиться. Поэтому может потребоваться создать SQL-оператор, который отчет будет использовать, непосредственно в VB-приложении. При этом может оказаться удобным извлечь SQL-оператор, который RDC генерирует автоматически.

Объект Report имеет свойство для чтения и записи SQLQueryString, которое может считываться или записываться во время выполнения. Проверяя содержимое этого свойства, вы можете следить за тем, какой SQL-запрос генерирует RDC. После этого

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

Обязательно обратите внимание на то, что вносить изменения в конструкцию SELECT в SQL-запросе нельзя. Изменения разрешается вносить только в конструкции FROM, WHERE, ORDER BY и GROUP BY. Однако вы, тем не менее, обязательно должны включать конструкцию SELECT, когда возвращаете отчету обновленный SQL-оператор, и при этом она не должна отличаться от исходной конструкции SELECT, которая была создана RDC. Также, если вы создаете конструкции ORDER BY или GROUP BY, то обязательно должны отделять их от конструкции WHERE с помощью последовательности символов возврата каретки/перевода строки (CR/LF). Для добавления такой последовательности в SQL-за- прос используйте константу vbCRLF.

Совет. RDC также поддерживает предлагаемые Crystal Reports возможности создания SQL-команд (SQL Command). Один из способов настроить процесс взаимодействия с базой данных SQL — это основать отчет, полностью или частично, на SQL-командах, а не использовать SQL-запросы в коде.

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

В RDC параметры хранимой процедуры SQL обрабатываются подобно полям параметров Report. Объект Report содержит коллекцию ParameterFieldDefinitions, состоящую из объектов ParameterFieldDef ini tion, — по одному для каждого имеющегося в отчете поля параметра Report или параметра хранимой процедуры. То, является данный параметр параметром Report или параметром хранимой процедуры, будет показывать значение свойства ParameterType объекта ParameterFieldDef inition.

Выполняя метод AddCurrentValue объекта ParameterFieldDef inition , вы можете передавать значение параметру хранимой процедуры из своего кода. О том, как осуществляется взаимодействие с полями параметров, более подробно рассказывалось ранее в этой главе.

 

Подотчеты RDC
Создание нового отчета с помощью кода
Форматирование заголовка
Сохранение отчета
Использование конструктора Embeddable Report Designer

Добавить комментарий


Защитный код
Обновить