Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выгрузка результата запроса из Оракл в FoxPro / 7 сообщений из 7, страница 1 из 1
12.07.2007, 18:08
    #34657619
Выгрузка результата запроса из Оракл в FoxPro
Всем привет!
Может конечно и ламерский вопрос - собственно сабж - нужно процедурой получить фокспрошный DBF

Собственно система IT-Предприятие

Блин основная непонятка -временный курсор создаю, заполняю данными запроса из Oracle,
создаю DBF-файл с нужной структурой, а вот теперь как из этого курсора данные забить в него - трабл все ругается на несовпадение типов данных.

NEED HELP
...
Рейтинг: 0 / 0
12.07.2007, 19:06
    #34657752
Выгрузка результата запроса из Оракл в FoxPro
Покажи-ка лучше код, выполняющий описанное, а то что-то трудно понять из описания что делается, что не делается и что нужно сделать.
...
Рейтинг: 0 / 0
16.07.2007, 11:42
    #34660472
Выгрузка результата запроса из Оракл в FoxPro
вот создаю таблицу DBF:
CREATE TABLE "D:\kbved\kbved.dbf" ( FAM CHAR(20), NAM CHAR(15), OTCH CHAR(15) )

делаю запрос к оракл-у:
m.VED=usql_exec([select FAM, NAM, OTCH from KDK ])

А вот как теперь из этого мемо-поля заполнить таблицу - ????
...
Рейтинг: 0 / 0
16.07.2007, 12:12
    #34660624
Выгрузка результата запроса из Оракл в FoxPro
Andrey A. Gerasimenkoвот создаю таблицу DBF:
CREATE TABLE "D:\kbved\kbved.dbf" ( FAM CHAR(20), NAM CHAR(15), OTCH CHAR(15) )

делаю запрос к оракл-у:
m.VED=usql_exec([select FAM, NAM, OTCH from KDK ])

А вот как теперь из этого мемо-поля заполнить таблицу - ????
Вы как к Ораклу подключаетесь: через АДО или через ОДБЦ?

Если через ОДБЦ, то в функции SQLEXEC() можно указать курсор, куда надо складывать результаты запроса. А дальше - как обычно...

Если через АДО (используется объект RecordSet (далее rs)), то надо использовать позаписный просмотр:
- пока не конец набора данных (While !rs.Eof() )
-- перейти на первую запись (rs.MoveFirst)
-- получить значение поля (rs.Fields("FAM").Value)
-- записать в переменную/поле курсора/и т.д.
-- получить значение следующего поля....
-- перейти к следующей записи (rs.MoveNext)
...
Рейтинг: 0 / 0
16.07.2007, 12:14
    #34660629
Выгрузка результата запроса из Оракл в FoxPro
Станислав С...кий
Если через АДО (используется объект RecordSet (далее rs)), то надо использовать позаписный просмотр:
- пока не конец набора данных (While !rs.Eof() )
-- перейти на первую запись (rs.MoveFirst)
-- получить значение поля (rs.Fields("FAM").Value)
-- записать в переменную/поле курсора/и т.д.
-- получить значение следующего поля....
-- перейти к следующей записи (rs.MoveNext)
упс, ошибся... надо так:

-- перейти на первую запись (rs.MoveFirst)
- пока не конец набора данных (While !rs.Eof() )
-- получить значение поля (rs.Fields("FAM").Value)
-- записать в переменную/поле курсора/и т.д.
-- получить значение следующего поля....
-- перейти к следующей записи (rs.MoveNext)
...
Рейтинг: 0 / 0
17.07.2007, 10:08
    #34663058
dmitryx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка результата запроса из Оракл в FoxPro
Если версия фокса 8 или старше, то можно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
LOCAL lnHandle as Integer 
LOCAL loMyCA as CursorAdapter
lnHandle = SQLSTRINGCONNECT([dsn=your_dsn;uid=_user_;pwd=_password_], .T.)

loMyCA = CREATEOBJECT("CursorAdapter")

WITH loMyCA
	.DataSourceType = "ODBC"
	.DataSource = lnHandle
	.SelectCmd = "SELECT FAM, NAM, OTCH FROM KDK"
	.CursorSchema = "FAM C(20), NAM C(15), OTCH C(15)"
	.Alias = "curpipe"
	.FetchMemo = .F.
	.MapVarchar = .T.
	.MapBinary = .T.
	.UseCursorSchema = .T.
	.NoData = .F.
	IF .CursorFill(.T., .F.)
		* данные успешно получены
		BROWSE 
	ELSE
		LOCAL ARRAY laErrorArray( 1 )
		= AERROR(m.laErrorArray)
		MESSAGEBOX("Ошибка при получении данных."+CHR( 13 )+m.laErrorArray[ 2 ])
	ENDIF 
ENDWITH 

=SQLDISCONNECT(lnHandle)
...
Рейтинг: 0 / 0
30.07.2007, 12:23
    #34692279
FM32YO aka KID
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка результата запроса из Оракл в FoxPro
Andrey A. Gerasimenkoвот создаю таблицу DBF:
CREATE TABLE "D:\kbved\kbved.dbf" ( FAM CHAR(20), NAM CHAR(15), OTCH CHAR(15) )

делаю запрос к оракл-у:
m.VED=usql_exec([select FAM, NAM, OTCH from KDK ])

А вот как теперь из этого мемо-поля заполнить таблицу - ????

если уж ты сделал так
Код: plaintext
m.VED=usql_exec([select FAM, NAM, OTCH from KDK ])
то сделай выборку в курсор, который потом сохрани как свою таблицу, вместо того, чтобы предварительно ее создавать

в хэлпе ситай статью на тему
Код: plaintext
SQLEXEC(nConnectionHandle, [cSQLCommand, [cCursorName]])
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выгрузка результата запроса из Оракл в FoxPro / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]