powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Функция SQLEXEC()
10 сообщений из 10, страница 1 из 1
Функция SQLEXEC()
    #34913559
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ решил привинтить фокс к interbase 7.0. Но проблема не в этом. Проблема в том что имеется талица на сервере, и надо в нее засовывать данные и высовывать тоже. Использую ф-ию SQLEXEC(), и не могу туда передавать разные значения. Я думаю что решение не сложное, но у меня не получается. Текст проблемы прилагаю:

///---------------------------------------
PUBLIC lnnewconnection
lnnewconnection = SQLSTRINGCONNECT(m.lcStringConnect)

IF m.lnnewconnection <=0
WAIT WINDOW 'Ошибка соединения. Обратитесь в службу поддержки'
LOCAL aErrorArray(1)
AERROR(aErrorArray)
a=''
*SET STEP ON
FOR n = 1 TO 7
DO CASE
CASE n=1
a=a+STR(aErrorArray(n))+CHR(13)
CASE ISNULL(aErrorArray(n))
OTHERWISE
a=a+aErrorArray(n)+CHR(13)
ENDCASE
ENDFOR
WAIT WINDOW a
RETURN
ELSE
WAIT WINDOW 'Сервер найден. Соединение прошло успешно !!!'
ENDIF

SET UDFPARMS TO VALUE
//Для упрощения
PUBLIC a,b,c
a=6
b=6
c=6

SQLSETPROP(lnnewconnection, 'Transactions', 2)

Вот эта строка мне не дает покоя..

SQLEXEC(lnnewconnection,'insert into mnci02(k_tt,k_ptt,k_ntex) values (a,b,c)')

SQLCOMMIT(lnnewconnection)
///---------------------------------------

Народ помогите плиз!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34913582
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SQLEXEC(lnnewconnection,'insert into mnci02(k_tt,k_ptt,k_ntex) values (?a,?b,?c)')
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34916298
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist
Код: plaintext
SQLEXEC(lnnewconnection,'insert into mnci02(k_tt,k_ptt,k_ntex) values (?a,?b,?c)')

Огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34916535
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема № 2.
Условия описаны выше.
Теперь на форме есть кнопка - "Удалить".
Ее текст:
Код: plaintext
1.
2.
3.
4.
5.
IF MESSAGEBOX('Удалить выбранную запись?', 4 + 32 ,'Предупреждение !!!')= 6 
SQLEXEC(lnnewconnection,"DELETE FROM mnci02 WHERE k_tt=?tk_tt AND k_ptt=?tk_ptt AND k_ntex=?tk_ntex")
SQLCOMMI11T(lnnewconnection)
REQUERY('cursor1')
thisform.Refresh 
ENDIF 
Не работает, физически данные на сервере удалены, а в гриде нет.
Выдает матюки типа requery не подходит для pass throught.
Я так понимаю не может обновить курсор.
Если подключить в команду requery представление то все работает.
Вопрос в том можно ли обновить именно курсор, чтоб в гриде данные изменились, если да то как.
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34916615
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kommunar...
Не работает, физически данные на сервере удалены, а в гриде нет.
Выдает матюки типа requery не подходит для pass throught.
Я так понимаю не может обновить курсор.
Если подключить в команду requery представление то все работает.
Вопрос в том можно ли обновить именно курсор, чтоб в гриде данные изменились, если да то как.
requery() для pass throught не работает. Попробуй добавить удаление из курсора:

Код: plaintext
1.
2.
delete in cursor1
skip in cursor1
thisform.Grid.Refresh()
Этот код сработает если стоишь на удаляемой записи.

Можешь еще курсорадаптер использовать, там requery() сработает.
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34916675
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно поподробнее
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34916703
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KommunarА можно поподробнее

Что поподробнее?

Если куда код вставить, то вместо REQUERY():
Код: plaintext
1.
2.
3.
4.
5.
6.
IF MESSAGEBOX('Удалить выбранную запись?', 4 + 32 ,'Предупреждение !!!')= 6 
SQLEXEC(lnnewconnection,"DELETE FROM mnci02 WHERE k_tt=?tk_tt AND k_ptt=?tk_ptt AND k_ntex=?tk_ntex")
SQLCOMMI11T(lnnewconnection)
delete in cursor1
skip in cursor1
thisform.Refresh 
ENDIF 

PS Думаю неплохо бы еще проверять что SQLEXEC() возвращает
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34916707
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ, но я хотел поподробнее узнать о курсорадаптере.
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34916743
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да и вот тут еще х-ня, хочу из базы фоксовской поперегонять данные в базу Interbase.
Пользуюсь таким вот кодом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
*!*	SELECT  1 
USE e:\transp\transp\base\mnci02
DO cpzero WITH 'e:\transp\transp\base\mnci02.dbf',  1251 

SELECT * FROM e:\transp\transp\base\mnci02

DO WHILE !EOF()
a=VAL(k_tt)
b=VAL(k_ptt)
c=VAL(k_ntex)
d=ALLTRIM(name)
e=shpz
f=gr_os
g=ALLTRIM(user)
j=date
i=ALLTRIM(flag)
SQLEXEC(lnnewconnection,'insert into mnci02(k_tt,k_ptt,k_ntex,name,shpz,gr_os,userof,dateof,flag) values (?a,?b,?c,?d,?e,?f,?g,?j,?i)')

SQLCOMMIT(lnnewconnection)
SKIP 
ENDDO
Работает по скольку по стольку.
Заносит все нормально, кроме символьных данных.
Не может перекодировать.
Чего можете попсоветовать, может настройку какую нибудь надо ставить.
...
Рейтинг: 0 / 0
Функция SQLEXEC()
    #34917568
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KommunarСпасибо за ответ, но я хотел поподробнее узнать о курсорадаптере.
У гугла с яндексом спроси. Тут немного есть

KommunarДа и вот тут еще х-ня, хочу из базы фоксовской поперегонять данные в базу Interbase.
Пользуюсь таким вот кодом:
[src]*!* SELECT 1
USE e:\transp\transp\base\mnci02
DO cpzero WITH 'e:\transp\transp\base\mnci02.dbf', 1251
...
А ты уверен что у mnci02.dbf кодовая страница 1251? Устанавливать 1251 смысла нет, она и так по умолчанию берется если в заголовке DBF ничего не указано. Вероятней всего там 866. добавь BROW и посмотри что ты на сервер шлешь.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Функция SQLEXEC()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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