Шаг 34 - Использование ODBC

Давайте посмотрим, как в VFP можно использовать источники данных ODBC. Ниже текст процедуры, которая выбирает в соответствии с запросом данные и помещает их в курсор:

procedure selsql()
*параметры: SQL-запрос, имя курсора
parameters commstr, curname
	gnConnHandle=sqlconnect('sysbanku')
	if gnConnHandle<=0
		messagebox('Невозможно установить соединение', 16, 'Ошибка')
	else
		msg('Соединение установлено')
		sqlresult=sqlexec(gnConnHandle,commstr, curname)
		disconres=sqldisconnect(gnConnHandle)
		do case
			case disconres=1
				msg('Connection is successfully terminated')
			case disconres=-1
				msg('Connection level error')
			case disconres=-2
				msg('Environment level error')
		endcase
	endif
endproc

Для вывода информации о соединении можно написать такую простенькую процедуру:

procedure msg()
parameters msgtext
	wait msgtext window nowait
endproc

Ну, а использовать все это в программе будем так:

msg('Ждите. Идет подготовка данных ...')
selsql('select * from nkon','vypnkcur')
select * from vypnkcur into table vypnkon
msg('Ждите. Идет индексация таблиц ...')
use vypnkon again
	index on kod_ tag kod_ of nkind	
	index on name_ tag name_ of nkind	
use
msg('Подготовка завершена ...')

Работает такой механизм достаточно устойчиво. Во всяком случае, в Access при очень большом объеме данных Windows'98 у меня умирал, а здесь никогда.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Клементьев В.А - 10.08.2002