Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновление данных на серваке / 25 сообщений из 25, страница 1 из 1
04.03.2006, 18:19
    #33582027
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Люди. Подскажите как обновить выбранные записи на сервере? Т.е. из 10 строк в табле нужно открыть 4 строку и изменить в ней значения.
...
Рейтинг: 0 / 0
04.03.2006, 18:41
    #33582049
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
НедоходящийЛюди. Подскажите как обновить выбранные записи на сервере? Т.е. из 10 строк в табле нужно открыть 4 строку и изменить в ней значения.
У тебя файл-серверная задача или клиент-серверная?
...
Рейтинг: 0 / 0
04.03.2006, 23:21
    #33582221
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
2 Владимир СА

Клиент - сервер.
...
Рейтинг: 0 / 0
05.03.2006, 06:08
    #33582321
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Схемы работы.
Можно использовать сквозные SQL-запросы:
1. Устанавливаешь соединение с источником данных либо через функцию
Код: plaintext
1.
2.
SQLCONNECT([nStatementHandle])
-or-
SQLCONNECT([cConnectionName | cDataSourceName [, cUserID [, cPassword ]][, lShared]])
либо через функцию
Код: plaintext
SQLSTRINGCONNECT([lShared] | [cConnectString [, lShared]])
2. Выполняешь сквозной SQL-запрос для активного соединения
Код: plaintext
SQLEXEC(nStatementHandle, [cSQLCommand, [cCursorName]])
где cSQLCommand и будет твоим T-SQL командой например:
Код: plaintext
1.
2.
3.
UPDATE <TableName1> ;
SET <Column_Name1> = eExpression1
   [, <Column_Name2> = eExpression2 ...]
   WHERE <TableName1>.Id =  4 
3. Разрываешь соединение с источником данных через функцию
Код: plaintext
SQLDISCONNECT(nStatementHandle)
А можно использовать RV (Remote View) удаленные представления данных.
1. Определяешь источник данных ODBC (см. "Пуск/Панель управления/Администрирование/Источники данных ODBC")
2. Создаешь именованное соединение (см. "Свой проект/Data/Databases/База данных/Connections")
Код: plaintext
1.
2.
CREATE CONNECTION [ConnectionName | ?]   [DATASOURCE cDataSourceName]
   [USERID cUserID] [PASSWORD cPassWord]   [DATABASE cDatabaseName]   
| CONNSTRING cConnectionString]
3. Создаешь удаленное представление данных в Базе данных Remote View
(лучше использовать построитель, где объявляешь изменяемые поля и ключевое поле) или
Код: plaintext
1.
2.
CREATE [SQL] VIEW [ViewName ] [REMOTE]   
[CONNECTION ConnectionName [SHARE] | CONNECTION DataSourceName]
   [AS SQLSELECTStatement]
4. А теперь ан-но как используешь Local View.
...
Рейтинг: 0 / 0
05.03.2006, 08:11
    #33582328
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Да, еще можно сказать об Cursor Adapter.
А вообще великие наши гуру по FoxPro имеют собственные сайты, где тоже можно почерпнуть много информации. Вот для примера:
Юрий Шутенко CursorAdapter
Сайт Алексея Климова. Разработка клиент-сервер приложений с использованием Visual FoxPro
Вот ребята молодцы.
...
Рейтинг: 0 / 0
06.03.2006, 12:01
    #33583618
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
2 Владимир СА

Спасибо за пояснение. Сижу разбираюсь.

Владимир САДа, еще можно сказать об Cursor Adapter.
А вообще великие наши гуру по FoxPro имеют собственные сайты, где тоже можно почерпнуть много информации. Вот для примера:
Юрий Шутенко CursorAdapter
Сайт Алексея Климова. Разработка клиент-сервер приложений с использованием Visual FoxPro
Вот ребята молодцы.

Ребята на самом деле молодцы. Я читал сайт Алексея, и мне пока это слишком сложно. Опыта и знаний маловато. А сайт Юрия читаю.

Такой вопросик. Если мне надо зделать выборку 6 записей из 10 записей. То что мне лучше использовать?
...
Рейтинг: 0 / 0
06.03.2006, 12:08
    #33583653
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Недоходящий...Если мне надо зделать выборку 6 записей из 10 записей. То что мне лучше использовать?Но ведь записи ты вибирать должен по какому-то критерию. Как ты определил, что из 10 записей 6 записей это к примеру: 1, 3, 5, 6, 7, 10 ? По какому критерию ты выбрал???
...
Рейтинг: 0 / 0
06.03.2006, 12:19
    #33583710
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Недоходящий...Если мне надо зделать выборку 6 записей из 10 записей. То что мне лучше использовать?Извиняюсь, вопрос то был: " То что мне лучше использовать? "
А это уже на твое усмотрение. Если тебе очень быстро надо сделать, то обычно я использую, то что лучше знаю, а если есть время на раздумья, то обычно эксперементирую. Например через CA (курсор адаптер), лично на мой взгляд , выборка информации медленнее происходит (как то я анализировал и сообщал в форуме). Может быть я непроффесионально это производил. Незнаю. Но лично я пока использую сквозные запросы и RV.
...
Рейтинг: 0 / 0
06.03.2006, 18:38
    #33585169
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
2 Владимир СА

Со скващным запросом проблем нет. А вот хочеться разобраться с RV. Я правильно понимаю что делая выборку из сервера нескольких записей одновременно, при изменений каких-то значений сразу же порисходит и изменение на сервере.
...
Рейтинг: 0 / 0
06.03.2006, 20:49
    #33585362
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
авторЯ правильно понимаю что делая выборку из сервера нескольких записей одновременно, при изменений каких-то значений сразу же порисходит и изменение на сервере
Не сразу, а посде выдачи TableUpdate()
...
Рейтинг: 0 / 0
07.03.2006, 07:37
    #33585752
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Недоходящий...А вот хочеться разобраться с RV. Я правильно понимаю что делая выборку из сервера нескольких записей одновременно, при изменений каких-то значений сразу же порисходит и изменение на сервере.Это при условии, что у тебя включена мягкая буферизация строк (Buffering=3) твоего RV курсора, это можно посмотреть через функцию CURSORGETPROP(). А если включена мягкая буферизация таблицы (Buffering=5), то нужно выполнить функцию TABLEUPDATE(). Вообще здесь поиском про буфферизацию посмотри. ВладимирМ очень много рассказывал.
...
Рейтинг: 0 / 0
07.03.2006, 09:32
    #33585872
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
"Мягкая буферизация" класно сказано:D
...
Рейтинг: 0 / 0
07.03.2006, 10:38
    #33586067
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
2 Владимир СА & Burn

Сенкс. Буду разбирать.
...
Рейтинг: 0 / 0
07.03.2006, 13:01
    #33586628
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Этих настроек в CURSORGETPROP() и CURSORSETPROP() так много, что непонятно что нужно выставлять. Для RV что нужно использовать? Я так пологаю что надо прописать несколько. Но какие?
...
Рейтинг: 0 / 0
07.03.2006, 13:59
    #33586864
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
НедоходящийЭтих настроек в CURSORGETPROP() и CURSORSETPROP() так много, что непонятно что нужно выставлять. Для RV что нужно использовать? Я так пологаю что надо прописать несколько. Но какие?

Если речь идёт о не контролируемом автосбросе изменений, то надо выставить
Код: plaintext
1.
CURSORSETPROP('Buffering', 5 ,'MyRV')
...
Рейтинг: 0 / 0
08.03.2006, 13:39
    #33588101
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Люди помогите разобраться. Вот код курсора адаптера.:
sql_con = SQLSTRINGCONNECT("Driver={SQL Server};SERVER=(local);PORT=1433;Trusted_Connection=yes;Network Library=DBMSSOCN;database=avantaj")
lo_CA=CREATEOBJECT("CursorAdapter")
lo_CA.Alias="cTestMySQL"
lo_CA.DataSourceType="ODBC"
lo_CA.DataSource=sql_con
lo_CA.SelectCmd="Select * FROM katalog_cl"
lo_CA.Tables="katalog_cl"
lo_CA.KeyFieldList="www"
lo_CA.UpdateNameList="www katalog_cl.www,dd katalog_cl.dd"
lo_CA.UpdatableFieldList="www,dd"
lo_CA.UpdateType=2
llCursorFilled=lo_CA.CursorFill()
? "Is cursor filled? "
?? llCursorFilled
BROWSE

RELEASE lo_CA
use
SQLDISCONNECT(sql_con)


Брал отсюда http://kodu.neti.ee/~juri4/vfp60/ca_intro_ru.htm
Так вот. Если после открытия таблы просто зделать append blank без ввода записи то на серваке ниче не происходит. пока не введеться хотя б одно значение. На серваке в полях defaultvalue определены. Почему не добавляет?
...
Рейтинг: 0 / 0
10.03.2006, 00:17
    #33591307
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Hi Недоходящий!

Потому что данная запись совершенно пустая. CAD на основе данных курсора
конструирует команду INSERT - при этом он добавляет туда лишь те поля,
которые были изменены - если в курсоре ни одно поле не было изменено, то по
идее CAD должен сгенерировать команду INSERT INTO ttt () VALUES () - т.е. с
пустыми списком полей и значений!
Я не знаю серверов, которые удовлетворила бы такая команда. Фокс вполне
разумно блокирует такие команды, и при этом генерирует ошибку - Cannot
insert an empty row from a view into its base table(s) (Error 1547)
Кроме того надо бы ЯВНО вызывать TableUpdate(), проверять что она возвращает
и если идёт ошибка, то проверять AERROR().

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.03.2006, 10:48
    #33591918
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
2 Igor Korolyov

В курсор адаптере перед командой relase поставить tebleupdate() ? Я правильно понял?
...
Рейтинг: 0 / 0
11.03.2006, 12:46
    #33594312
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
ЛЮДИ!!! СРОЧНО ПОМОГИТЕ!!!
ПРоблема в курсорадаптере. Выше я привел код который использую. Но вот проблема. Есть таблица в которой 30 полей!!!.
В этих командах их надо все 30 полей перечислить для обновления всей таблицы:
lo_CA.UpdateNameList="www katalog_cl.www,dd katalog_cl.dd"
lo_CA.UpdatableFieldList="www,dd"

Проблема вся в том что фокс ругаеться когда символов превышает больше 255!! Что мне делать?? пожалуйста посоветуйте!! ГОРИТ!!!
...
Рейтинг: 0 / 0
11.03.2006, 13:35
    #33594345
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Какая структура таблице на сервере? И на какое поле ругается?
С уважением, Алексей
...
Рейтинг: 0 / 0
11.03.2006, 15:49
    #33594432
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
авторПроблема вся в том что фокс ругаеться когда символов превышает больше 255!! Что мне делать?? пожалуйста посоветуйте!! ГОРИТ!!!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
lc_str1="www,...........,dd,"
lc_str1=lc_str1+"t1,...........,t20,"
lc_str1=lc_str1+"t21,...........,t30,"

lc_str2="www katalog_cl.www,......,dd katalog_cl.dd,"
lc_str2=lc_str2+"t1 katalog_cl.t1,......,t20 katalog_cl.t10,"
lc_str2=lc_str2+"t11 katalog_cl.t11,......,t20 katalog_cl.t20,"
lc_str2=lc_str2+"t21 katalog_cl.t21,......,t30 katalog_cl.t30,"

lo_CA.UpdateNameList=lc_str2
lo_CA.UpdatableFieldList=lc_str1
...
Рейтинг: 0 / 0
11.03.2006, 20:19
    #33594568
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
2 Aleksey-K
На серваке одно поле int,второе uniqueidentifier, а остальные string. Она ругается когда строку задаешь ей больше 255 символов.

2 Burn
Ща попробую. Об этом я как то и позабыл.



*********************
Еще такой вопрос. Это по поводу выборки из сервака той же таблицы. Я хотел зделать выборку одной строки по полю которое на сервере имеет тип uniqueidentifier(генератор уникальных значений я так понимаю). Так вот. Вы борка не происходит при подаче запроса с выбором по этому полю. Через функцию type() этого значения результат U. Т.е. неизвестный формат. Можно ли как-то по этим значениям из фокса делать выборку? VFP9
...
Рейтинг: 0 / 0
13.03.2006, 18:39
    #33597786
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Помогите разобраться. Хочу через vfp9 выбрать с сервака все строковые значения в которых имееться буква 'g'. Как это зделать? Читал хелп но что-то не получаеться через like в sqlexec. Выбираеться только одно значение где есть просто 'g'.
...
Рейтинг: 0 / 0
13.03.2006, 23:49
    #33598150
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
Как в запросе писал:
Код: plaintext
select ... from ... where ... like '%g%'
?
...
Рейтинг: 0 / 0
14.03.2006, 10:46
    #33598663
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных на серваке
2 Urri

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


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