powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL через RDS по "Базиеняну" нейдет...
9 сообщений из 9, страница 1 из 1
SQL через RDS по "Базиеняну" нейдет...
    #32900303
DMITRY_PEREDISTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коннект с сервером есть.
Через SQLExec(lnHandle ,"SELECT * FROM clientoffer",lcAlias) все получается.
а вот RDS ну не хочет! второй день бьюсь, люди кто знает помогите.

Это пример из книги Менахема Базияна VFP6 руководство стр.306

local oRDS
oRDS = CreateObject("RDS.DataControl")
if type("oRDS") <> "O"
= messagebox('oRDS íå ñîçäàí',16)
else
With oRDS
.Connect = "dsn=PostgreSQL"
.SQL = "SELECT * FROM clientoffer"
.ExecuteOptions = 1
.FetchOptions = 2

* здесь на refresh-е срубается, и дает мессаж про доступ
* а SQL - программист ничего не хочет знать,
* говорит все нормальн должно работать
.Refresh

EndWith

oRDS.Recordset.MoveFirst()
Do While ! oRDS.Recordset.Eof()

* просто хочу прокрутить список валют

lnID = oRDS.Recordset.Fields("id").Value
lcKod = oRDS.Recordset.Fields("valuta").Value
lcName = oRDS.Recordset.Fields("summ").Value
Wait lcKod+' '+lcName wind
oRDS.Recordset.MoveLast()
EndDo
endif
...
Рейтинг: 0 / 0
SQL через RDS по "Базиеняну" нейдет...
    #32900334
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если мне не изменяет память - RDS умер давно и навечно... MS категорически не рекомендует его использовать...
...
Рейтинг: 0 / 0
SQL через RDS по "Базиеняну" нейдет...
    #32900415
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi DMITRY_PEREDISTY!

А зачем тебе вообзе RDS? В чём задача то состоит? Может быть тебе нужен
банальный ADODB.RecordSet?

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
SQL через RDS по "Базиеняну" нейдет...
    #32901327
DMITRY_PEREDISTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужно изменить значение поля в записи.
Вобщем я на клиенте ставлю галочку, она должна отразиться на сервере.
...
Рейтинг: 0 / 0
SQL через RDS по "Базиеняну" нейдет...
    #32901433
DMITRY_PEREDISTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не проходит !
x=SQLEXEC(lnHandle,"INSERT INTO clientoffer (client,valuta,bid,ask,summ,date,state ) VALUES ('1','978','36.5','37.0','1000','14:06:04:02:05','0')","cur_insert")

причем этот же SQL проходит через командное окно PostgrSQL
...
Рейтинг: 0 / 0
SQL через RDS по "Базиеняну" нейдет...
    #32901487
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
IF SQLExec(...)< 0 
	LOCAL laError( 1 )
	AERROR(laError)
	* Анализ содержимого массива laError на предмет ошибки
ENDIF

На вскидку. У тебя неокрректный формат даты-время. Напиши его как символьную строку в таком виде:

'YYYYMMDD HH:MM:SS'

Это универсальный формат даты-времени, который не зависит от текущих настроек среды.
...
Рейтинг: 0 / 0
SQL через RDS по "Базиеняну" нейдет...
    #32901521
DMITRY_PEREDISTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
procedure SQL_kurs

local lnHandle , lnFile
lnHandle= SQLCONNECT('PostgreSQL')

if lnHandle > 0

* проходит
=SQLEXEC(lnHandle,"SELECT * FROM clientoffer","tmp1")
sele tmp1
BROWSE norm

* не проходит!!! :(

_XXX = "INSERT INTO clientoffer (client,valuta,bid,ask,summ,date,state) VALUES ('1','978','36','37','1000','14:06:04:02:05','0')"
x=SQLPrepare(lnHandle, _XXX )

if x > 0
y=SQLEXEC(lnHandle)
wait tran(x)+' '+tran(y) wind
endif
if x < 0 .or. y < 0
=SQLDisconnect(lnHandle)'
CANC
endif
sele cur_insert
browse norm
use
endif

RETURN
...
Рейтинг: 0 / 0
SQL через RDS по "Базиеняну" нейдет...
    #32901592
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ты не мудри, ты пальцем покажи" (с)

Прежде чем писать коды прекомпиляции и всякие прочие "выкрутасы" добейся безглючного выполнения одной команды. Т.е. выполни одну команду INSERT на сервере.

У тебя явно проблемы с типами данных, передаваемых в VALUES. Почему они у тебя символьного типа, когда явно предполагаются числа и дата-время? Или так и должно быть?

И проверять надо не просто "прошла/не прошла", а почему не прошла. Т.е. нужен анализ AERROR().
...
Рейтинг: 0 / 0
SQL через RDS по "Базиеняну" нейдет...
    #32901754
DMITRY_PEREDISTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Значит так:
В свойствах ODBC , настройка, есть кнопочки "Driver" и "DataSource"
там флажки ReadOnly которые по умолчанию стоят ON
Вот и все что было :)

Спасибо ребята за AERROR().
По тексту ошибки вместе с SQL-щиком нашли эту штуку. Ура!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL через RDS по "Базиеняну" нейдет...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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