On-line: alex_II, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
Pasha
Администратор




Пост N: 2416
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.06.12 18:14. Заголовок: Leto DB Server (продолжение 8)


Немного доработал документацию к letodb

Спасибо: 0 
Профиль
Ответов - 273 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]


sashaBG
постоянный участник




Пост N: 111
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 12.11.12 14:27. Заголовок: Спасибо


Спасибо за ответы !

Pasha пишет:

 цитата:
Правда, это будет работать только в windows


Паша ты имееш виду IIS Сервер или можно и через например XAMPP под Windows?

Андрей вот етот код у меня сейчас работает

сначало немножко раскажу
конкретно етот Документ сохраняется в двух файлах (Нулевая так я назвал ) 0-ая часть ( или Master часть)
и N-ая часть (или Detail часть)

//Начало транзакции--------------------------------------------
LETO_BEGINTRANSACTION( )
lSaveN := _N_SAVE() //Сохраняем (Detail часть)
IF lNew0 // если у нас новы документ или новая Master часть
lSave0 := _0_SAVE() // Сохранеям Master часть
SET_SCOPE() // Устанавливаем зону видимости от Мастер к Детаил
ENDIF
IF lSaveN .and. lSave0 // если все удачно сохранилось
IF ! LETO_COMMITTRANSACTION()
msgstop( "НЕУДАЧНАЯ Транзакция !" )
ENDIF
ELSE
LETO_ROLLBACK() //откат
ENDIF
//Конец транзакции--------------------------------------------

Пока так работает

К спецам:

Если что-то не так СОВЕТУЙТЕ !

P.S. Не могу отформатировать текст :(



Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 2401
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.11.12 14:59. Заголовок: alkresin пишет: Я б..


alkresin пишет:

 цитата:
Я бы вам посоветовал для подключения через Web использовать CGI интерфейс. Компьютеры сейчас довольно мощные - потянут, если только у вас не сотни одновременых подключений через Web. Я сам использую CGI, Javascript и Ajax, все нормально работает.



Очень интересно ! Давно хочу такое...
Никто и не ответил мне в этой теме http://clipper.borda.ru/?1-3-20-00000218-000-0-0-1342804573
А чуть подробней по "подключению через Web используя CGI интерфейс" можно отписаться в другой теме, чтобы здесь не "мусорить" !
Заранее спасибо за ответ !

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 429
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.11.12 15:11. Заголовок: Pasha пишет: Алекса..


Pasha пишет:

 цитата:
Александр, а что если прикрутить запросы query из dbc к letodb ? Хотя бы в качестве readonly запросов


Я так и хотел сделать - может, помните, писал когда-то о планах реализовать SQL - запросы в letodb.
Даже начал переводить тот фрагмент кода из dbc на C - но потом что-то отвлекло и забыл про это дело...


Спасибо: 0 
Профиль
santy





Пост N: 129
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 12.11.12 15:33. Заголовок: Вот это интересно. S..


Вот это интересно. SQL на letodb - прекрасная идея.

Потом уже на уровне ядра (x)Harbour.



Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2527
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.11.12 16:49. Заголовок: alkresin пишет: Я ..


alkresin пишет:

 цитата:

Я так и хотел сделать - может, помните, писал когда-то о планах реализовать SQL - запросы в letodb.
Даже начал переводить тот фрагмент кода из dbc на C - но потом что-то отвлекло и забыл про это дело...



Я планировал это сделать в виде отдельного rdd - наследника DBFCDX/DBFNTX. Для простых запросов по одной или нескольким таблицам в этом rdd можно было бы добавлять/удалять поля (FIELD), для более сложных - формировать таблицу в памяти (временный файл) и заполнять ее. Этот rdd можно прикрутить к серверу letodb, а клиентская часть leto в таком случае почти не меняется.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2529
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.11.12 14:46. Заголовок: Александр, а можно л..


Александр, а можно ли перенести проект с CVS на SVN ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 435
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.11.12 15:25. Заголовок: Pasha пишет: Алекса..


Pasha пишет:

 цитата:
Александр, а можно ли перенести проект с CVS на SVN ?


А как это делается ?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2530
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.11.12 15:34. Заголовок: Не знаю. Наверное, н..


Не знаю. Наверное, надо спросить в harbour dev, они же переносили головной проект. В любом случае у меня прав на это нет.

Спасибо: 0 
Профиль
santy





Пост N: 131
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 13.11.12 15:46. Заголовок: Заходите под админом..


Заходите под админом во вкладке Project Admin/Feature Settings установите галочку для SVN уберите для CVS.

Последнюю версию с CVS сберегите.
Попробуйте закачать туда данные через SVN

Можна конечно почитать инструкцию https://sourceforge.net/apps/trac/sourceforge/wiki/Subversion%20import%20instructions

Но у меня вышло по простому.


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 437
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.11.12 17:55. Заголовок: Pasha пишет: Не зна..


Pasha пишет:

 цитата:
Не знаю. Наверное, надо спросить в harbour dev, они же переносили головной проект. В любом случае у меня прав на это нет.


Теперь есть, я вас добавил в project admins.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2531
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.11.12 20:42. Заголовок: Спасибо !..


Спасибо !

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 112
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 20.11.12 12:28. Заголовок: ТРАНЗАКЦИИ


Вот финкция из примерчика TEST_TA.PRG:

Function AddNakl( n_ord, d_ord, aSumm )
Local i, sumAll := 0

leto_BeginTransaction()

select NAKL2
for i := 1 to Len( aSumm )
append blank
replace NORD with n_ord, DORD with d_ord, NPROD with i, SUMMA with aSumm
sumAll += aSumm
next

select NAKL1
append blank
replace NORD with n_ord, DORD with d_ord, SUMMA with sumAll

leto_CommitTransaction()

// Я добавил етот кусок
select NAKL2
leto_commit()
?"NAKL2 recno() ->",recno() // Выходит 0
select NAKL1
leto_commit()
?"NAKL1 recno() ->",recno()// здесь тоже 0

Return .T.

А нужно показать номер новодобавленой записи !


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 38
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.11.12 14:46. Заголовок: Andrey пишет: Очень ..


Andrey пишет:

 цитата:
Очень интересно ! Давно хочу такое...


Путь к этому:
- подобрать под себя CMS
- изучить
- научиться подключать CGI интерфейс в CMS
- возможно подправить под себя CMS

Мы используем CMS с MySql и php.
CGI интерфейс hb2.0 с использованием scripta (см.hb20\examples\hscript\hscript.prg).
Базы на LetoDb и cdx.
CMS обеспечивает внешний вид (css), меню, данные пользователя, пароли ...
В CGI из MySql подчитываются данные сессии (user, password, css-ы и т.д.)
Все нормально работает.
Задача: Ввод жильцами данных по счетчикам учета воды в квартплате


Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 2411
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.11.12 17:05. Заголовок: SergKis Чтобы не ра..


SergKis
Чтобы не разводить здесь лишнего, я перенес свой вопрос к вам в тему
http://clipper.borda.ru/?1-3-0-00000218-000-0-1-1353420057

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2546
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 20.11.12 17:30. Заголовок: sashaBG пишет: А ну..


sashaBG пишет:

 цитата:
А нужно показать номер новодобавленой записи !



Вызов leto_commit в данном случае не поможет, он будет просто проигнорирован.
Сейчас leto_CommitTransaction просто возвращает результат выполнения: успешно или нет.
Надо добавить возврат массива номеров последних добавленных записей для каждой рабочей области, которая задействована в транзакции. А на клиенте обрабатывать этот массив, устанавливая номера добавленных записей.
Сделаю.

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 113
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 20.11.12 22:53. Заголовок: Стоит ли ?


Паша, наверное не стой усложнять leto_CommitTransaction
Все дело было потому что в моем проекте после добавления нового документа я показываю в статус линии данные о текущей записи
и так замаетил что после транзакции добавления нового документа показывает 0.
я пока в своем проекте справился делая после leto_CommitTransaction , DBSEEK(cNewDOK) и все о.к.
После етого показывает все нормально .

Спасибо !

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2547
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.11.12 08:54. Заголовок: Дело в том, что если..


Дело в том, что если после транзакции указатель остается на добавленной записи, то будут неправильно работать операции навигации по этой рабоче области (skip). Так что лучше эти данные все-таки передавать и отрабатывать их.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 448
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.11.12 09:08. Заголовок: Pasha пишет: Дело в..


Pasha пишет:

 цитата:
Дело в том, что если после транзакции указатель остается на добавленной записи, то будут неправильно работать операции навигации по этой рабоче области (skip). Так что лучше эти данные все-таки передавать и отрабатывать их.


А как именно обрабатывать ?
По-моему, указатель записи после транзакции должен быть там же, где и в том случае, если этот фрагмент кода исполняется без транзакции. Т.е., если речь идеь о добавлении группы записей, то - на последней добавленной записи.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2548
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.11.12 09:24. Заголовок: Алгоритм примерно та..


Алгоритм примерно такой. Сервер пусть формирует массив вида
ulAreaID, ulRecNo, ...
и заполняет при добавлении последний номер добавленной записи (только один для р/о)
Клиент после транзакции просматривает этот массив, и, если для указанной в нем р/о номер записи на клиенте 0, заменяет его на принятый номер записи.
Иначе получится, что если после транзакции с добавленной записью клиент выполняет какое-то действие, то сервер ее просто не найдет.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 449
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.11.12 10:34. Заголовок: А почему о массиве р..


А почему о массиве речь идет, а не об одной последней добавленной записи ?

Спасибо: 0 
Профиль
Ответов - 273 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 21
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет