Работа с базами данных недоступна вLite иStandard-модификациях
Geozem может получать информацию из внешних баз данных.
После зайти в настройки, и установить параметры соединения.
Возможность получения данных из базы данных позволяет пользователю самостоятельно разрабатывать приложения (например в MS Access), которые будут подготавливать данные в базе данных для последующей вставки их в отчеты Geozem. Примером такой программы может быть "Формирование межевого дела". Работа с базами данных возможна только в полной версии Geozem.
Функция Select для получения данных из базы данных
Функция SQL для выполнения произвольных SQL-запросов к базе данных
Функция ConnectionString для возврата строки подключения к базе данных
При первом обращении к базе данных появляется это окно. В этом окне дублируются параметры изнастроек. Здесь выбирается Сервер (папка с файлами дынных), имя пользователя, пароль (для серверных БД).
Установка параметра "Запрос параметров соединения" позволяет всегда показывать это окно при первом обращении к базе данных. Если этот параметр выключен, то в этом случае это окно будет показываться только когда соединение к базе данных не увенчалось успехом, и это позволяет изменить параметры для успешного соединения.
Параметр "Доступ к базе данных" управляет работой Geozem с базами данных.
Кнопка ОК подтверждает соединение с базой данных.
Эта функция используется при написании выражений и позволяет получать данные из базы данных.
Синтаксис функции:
SELECT(<имя базы данных>,<запрос>)
<имя базы данных> -имя соединения к базе данных, может быть пустым – в этом случае по умолчанию используется первое соединение.
<запрос> - строка SQL-запроса оператора Select без слова "select"
Результатом этой функции является значение первой строки первого столбца полученного набора данных с базы данных.
Пример:
Select("name from koords.dbf where ((kx-1000,0) between -0.01 and 0.01) and ((ky-1000,0) between -0.01 and 0.01)")
Пример:
Пусть в имени файла закодирован кадастровый номер в формате: <код блока>_<номер квартала>-<номер участка>.<расширение файла>. Нужно найти полный кадастровый номер. Потом по кадастровому номеру найти в базе данных название блока и имя владельца этого земельного участка.
имяф=ExtractFileName([файл]) kn1=pos("_",[имяф]) kn2=pos("-",[имяф]) kn3=pos(".",[имяф]) kod3n=copy([имяф],1,[kn1]-1) kod31=copy([имяф],[kn1]+1,[kn2]-[kn1]-1) kod0=copy([имяф],[kn2]+1,[kn3]-[kn2]-1) ;Находимкадастровыйномер кадастровый_номер="00:00:"+formatfloat("000",[kod3n])+" 00 "+formatfloat("00",[kod31])+":"+formatfloat("0000",[kod0]) zaprm3="from m3.dbf where (cast(kod3n as integer)="+formatfloat("0",[kod3n])+")" kod2=Select("kod2 "+[zaprm3]) kod3=Select("kod3 "+[zaprm3]) ;Находим название блока назв_блока=Select("name3 "+[zaprm3]) zaprzemli="from zemli.dbf where (cast(kod2 as integer)="+formatfloat("0",[kod2])+")and(cast(kod3 as integer)="+formatfloat("0",[kod3])+")and(cast(kod31 as integer)="+formatfloat("0",[kod31])+")and(cast(kod0 as integer)="+formatfloat("0",[kod0])+")" ;Находим владельца земельного участка владелец=Select("name10 "+[zaprzemli])
Эта функция используется при написании выражений и позволяет управлять информацией из базы данных.
Синтаксис функции:
SQL(<имя базы данных>,<запрос>)
<имя базы данных> - имя соединения к базе данных, может быть пустым – в этом случае по умолчанию используется первое соединение.
<запрос> - строка SQL-запроса. Также можно использовать оператор SELECT – в этом случае функция возвращает значение первой строки первого столбца полученного набора данных с базы данных.
Эта функция позволяет вернуть строку подключения к базе данных.
Синтаксис функции:
ConnectionString (<имя базы данных>,<показ окна параметров соединения>)
<имя базы данных> - имя соединения к базе данных, может быть пустым – в этом случае по умолчанию используется первое соединение.
<показ окна параметров соединения> - признак (true, false) для принудительного вывода окна сапрашивающего параметры соединения.
Пример:
В дизайнере отчетов на вкладке данные кидаем компонент TfrxADODatabase, свойство name=bd.
Для того чтобы сделать дубликат соединения вводим скрипт (вкладка код):
begin bd.connected:=false; bd.Databasename:=ConnectionString("Northwind",true); bd.connected:=true; end.
Теперь при запуске отчета будут скопированы настройки соединения из настроенных баз данных в отчет.