Вверх ↑
Этот топик читают: Гость
Ответов: 485
Рейтинг: 86
#1: 2009-03-21 00:29:28 ЛС | профиль | цитата
nesco, посмотри, что-то тут не так...
code_12335.txt

карма: 0

0
файлы: 1code_12335.txt [3.2KB] [125]
Разработчик
Ответов: 26305
Рейтинг: 2146
#2: 2009-03-21 00:51:47 ЛС | профиль | цитата
filyaxxxcom, так как ты подцепил клиентов (последовательно) в таком случае не делают, над вот так


Add(MainForm,2953706,182,189)
{
}
Add(SQLite_DB,14689953,490,133)
{
FileName="test.db"
link(onOpen,9877027:doEvent1,[])
}
Add(Hub,13228450,322,196)
{
OutCount=4
link(onEvent1,14689953:doOpen,[(348,202)(348,139)])
link(onEvent2,1179187:doFor,[])
link(onEvent3,15891909:doFor,[(371,216)(371,272)])
link(onEvent4,14689953:doClose,[(361,223)(361,146)])
}
Add(SQLite_Exec,9880347,567,133)
{
SQL="CREATE TABLE table_0 (value)"
}
Add(SQLite_Exec,4798139,511,203)
{
link(dbHandle,4073406:Var3,[(517,184)])
}
Add(For,1179187,385,203)
{
End=2
link(onEvent,12490689:doString,[])
}
Add(Button,3708587,266,196)
{
Left=5
Top=4
Width=230
Caption="создать базу test.db"
link(onClick,13228450:doEvent1,[])
}
Add(FormatStr,12490689,441,203)
{
DataCount=1
Mask="INSERT INTO table_0 VALUES("table_0 value_%1");"
link(onFString,4798139:doExec,[])
link(Str1,1179187:Position,[(447,191)(419,191)(419,247)(391,247)])
}
Add(Hub,9877027,539,133)
{
link(onEvent1,9880347:doExec,[])
link(onEvent2,11277389:doExec,[])
}
Add(SQLite_Exec,11277389,616,140)
{
SQL="CREATE TABLE table_1 (value)"
}
Add(SQLite_Exec,4964793,490,266)
{
link(dbHandle,4073406:Var2,[])
}
Add(For,15891909,392,266)
{
End=2
link(onEvent,13874982:doString,[])
}
Add(FormatStr,13874982,441,266)
{
DataCount=1
Mask="INSERT INTO table_1 VALUES("table_1 value_%1");"
link(onFString,4964793:doExec,[])
link(Str1,15891909:Position,[(447,254)(423,254)(423,310)(398,310)])
}
Add(GetDataEx,4073406,483,175)
{
link(Data,14689953:dbHandle,[])
}
Add(Hub,2671418,609,371)
{
OutCount=5
link(onEvent1,3698718:doOpen,[(636,377)(636,349)])
link(onEvent2,3855625:doClear,[(769,384)(769,398)])
link(onEvent3,4082030:doQuery,[])
link(onEvent4,2832353:doQuery,[(655,398)(655,426)])
link(onEvent5,3698718:doClose,[(644,405)(644,356)])
}
Add(Button,15853370,553,371)
{
Left=129
Top=30
Width=105
Caption="чтение (DS)"
link(onClick,2671418:doEvent1,[])
}
Add(DS_SQLite,3698718,665,343)
{
Name="main_db"
FileName="test.db"
}
Add(ListBox,3855625,784,385)
{
Left=128
Top=53
Width=110
Height=170
}
Add(DSC_Query,2832353,707,420)
{
SQL="SELECT * FROM table_1 "
DSManager="main_db"
link(onQuery,13549773:doWork3,[(753,426)])
AddHint(-70,49,138,13,SQL)
}
Add(DSC_Query,4082030,665,385)
{
SQL="SELECT * FROM table_0 "
DSManager="main_db"
link(onQuery,13549773:doWork2,[])
AddHint(-115,59,138,13,SQL)
}
Add(Hub,2705921,252,420)
{
OutCount=5
link(onEvent1,5939667:doOpen,[(278,426)(278,377)])
link(onEvent2,8047177:doClear,[(430,433)(430,447)])
link(onEvent3,913153:doQuery,[])
link(onEvent4,13705450:doQuery,[(297,447)(297,475)])
link(onEvent5,5939667:doClose,[(284,454)(284,384)])
}
Add(Button,4330370,203,420)
{
Left=7
Top=30
Width=105
Caption="чтение (Handle)"
link(onClick,2705921:doEvent1,[])
}
Add(ListBox,8047177,441,434)
{
Left=5
Top=53
Width=110
Height=170
}
Add(SQLite_DB,5939667,301,371)
{
FileName="test.db"
}
Add(SQLite_Query,913153,301,434)
{
SQL="SELECT * FROM table_0"
link(onQuery,11275051:doWork2,[])
link(dbHandle,13671053:Var2,[])
AddHint(-125,61,135,13,SQL)
}
Add(SQLite_Query,13705450,364,469)
{
SQL="SELECT * FROM table_1"
link(onQuery,11275051:doWork3,[(410,475)])
link(dbHandle,13671053:Var3,[(370,415)])
AddHint(-24,54,135,13,SQL)
}
Add(GetDataEx,13671053,294,406)
{
link(Data,5939667:dbHandle,[])
}
Add(HubEx,13549773,749,378)
{
link(onEvent,3855625:doAdd,[])
}
Add(HubEx,11275051,406,427)
{
link(onEvent,8047177:doAdd,[])
}


Так что, в этом месте ошибок я не нашел
------------ Дoбавленo:

Да и зачем два клиента на однотипные запросы без условия, когда такие запросы в одном клиенте можно сделать
карма: 22

0
Ответов: 485
Рейтинг: 86
#3: 2009-03-21 00:58:37 ЛС | профиль | цитата
nesco,
1. Так, как ты показал - это же совсем другой результат!
2. У меня делается выборка из таблицы 0, обрабатывается и, по каждому значению этой выборки, делается запрос в таблицу 1. Именно так, как в примере выше.
3. С dbHandle (по-старому) выборка происходит правильно.

карма: 0

1
Голосовали:nesco
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2009-03-21 01:09:00 ЛС | профиль | цитата
предлагаю чуть чуть повременить с использованием этих элементов до момента их реставрации
карма: 27
0
Ответов: 485
Рейтинг: 86
#5: 2009-03-21 01:14:23 ЛС | профиль | цитата
nesco писал(а):
Да и зачем два клиента на однотипные запросы без условия, когда такие запросы в одном клиенте можно сделать
Ну, это же пример бага (по моему мнению), а не рабочая схема
Dilma писал(а):
предлагаю чуть чуть повременить с использованием этих элементов до момента их реставрации
ОК
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#6: 2009-03-21 01:17:37 ЛС | профиль | цитата
filyaxxxcom, да, есть такое. Сейчас я переделываю интерфейс, все это после должно исчезнуть. Спасибо. что нашел этот баг
карма: 22

1
Голосовали:filyaxxxcom
Ответов: 16884
Рейтинг: 1239
#7: 2009-03-22 11:29:27 ЛС | профиль | цитата
nesco, по порядку. Разбор примера SQLite_with_SQLiteDataSource.sha
Например: Захотелось добавить еще одну панель, с выводом только имен.
DS_SQLite в этой панели не видно.
Значит его нужно вытащить на MainForm ( для видимости во всех Panel-ях) и...
перщелкать все компоненты DSC_xxxxx (в примере 4-шт., а вдруг их там 40 ?) , что бы изменить им имя DSMamager.
Или, "по производственной необходимости" нужно поместить часть схемы с DS_SQLite в мультик.
Т.е. пока проблем возникло больше, чем плюсов.
И если при разработке своей схемы, у пользователя возникнет такая проблема, то будет он тебя (не себя) вспоминать "незлим, тихим словом"(укр.).

P.S. С использованием GV в качестве хранителя dbHandle таких проблем нет, небыло и не будет.

Перед тем как нырять в бутылку - хорошо подумай.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#8: 2009-03-22 11:40:43 ЛС | профиль | цитата
Tad, я получил от руководства временный запрет на создание транслятора. Да и вообще, DS создан как универсальный источник данных, где несколько различных источников работают с универсальными клиентами. Сейчас ничего не смогу сказать конкретно, это совместный проект и делаю я его под строгим контролем.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#9: 2009-03-22 11:49:06 ЛС | профиль | цитата
nesco, я это знаю (про строгий контроль)
Просто обрати внимание.
Правда и то, что я уже знаю, как решится этот вопрос - указанием, что DS-ы устанавливать только на MainForm
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 485
Рейтинг: 86
#10: 2009-03-22 12:33:16 ЛС | профиль | цитата
Tad писал(а):
Правда и то, что я уже знаю, как решится этот вопрос - указанием, что DS-ы устанавливать только на MainForm

Не думаю, что так будет, т.к. это не решит проблемы с
Tad писал(а):
"по производственной необходимости" нужно поместить часть схемы с DS_SQLite в мультик.

Или, например, потребуется в глубине мультиков открыть-поработать-закрыть базу. Тогда или ставить еще один DS с другим именем или тянуть связи наверх.
Ладно, это пока гадание на кофейной гуще...

карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#11: 2009-03-23 11:00:42 ЛС | профиль | цитата
Tad, если есть желание провести дискуссию на тему использования менеджеров в соседних контейнерах, то прошу подойти к вопросу обстоятельно в отдельной теме с примерами, где расписаны все плюсы и минусы, которые можно считать достаточно важными, чтобы о них говорить. Доказывать же каждому пользователю полезность того или иного нововведения при условии, когда он видит только свой пример и только свою проблему считаю с некоторых пор занятием бессмысленным.

Однако если есть уверенность
Tad писал(а):
Правда и то, что я уже знаю, как решится этот вопрос - указанием, что DS-ы устанавливать только на MainForm

то можно и не рыпаться - сэкономим время друг другу.
карма: 27
0
Ответов: 16884
Рейтинг: 1239
#12: 2009-03-23 11:32:04 ЛС | профиль | цитата
Сэкономим.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)