Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#16: 2009-03-03 18:07:25 ЛС | профиль | цитата
По честному - я тоже не понял.
Я давно пользуюсь
SELECT count() FROM tabl <условие>
если "0" значит нет. И никаких проблем.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26264
Рейтинг: 2140
#17: 2009-03-03 19:13:56 ЛС | профиль | цитата
Tad, это что, провека на отсутствие строк, так тут разные методы есть
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#18: 2009-03-03 21:33:53 ЛС | профиль | цитата
Tad писал(а):
Вот эти две строки я бы перенес за IF

что это даст в правильно собранных схемах?

nesco писал(а):
Я вот так и не понял назначения этого компонента

привести аналог схемы на стандартных элементах
code_12004.txt

карма: 27
0
файлы: 1code_12004.txt [534B] [631]
Ответов: 16884
Рейтинг: 1239
#19: 2009-03-03 22:43:21 ЛС | профиль | цитата
Dilma писал(а):
что это даст в правильно собранных схемах?
Непробиваемый аргумент.
Зато в неправильно собранных избавит от лишних телодвижений и в кодах компонента появится логика.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26264
Рейтинг: 2140
#20: 2009-03-03 23:01:25 ЛС | профиль | цитата
Dilma писал(а):
привести аналог схемы на стандартных элементах

Вот, в принципе, тоже самое на чистом запросе и никаких телодвижений с компонентами не надо


Add(MainForm,2953706,147,112)
{
link(onCreate,3598705:doOpen,[])
}
Add(Button,14405751,147,175)
{
Left=125
Top=115
link(onClick,11578939:doQuery,[])
}
Add(Message,8256518,308,175)
{
Caption="You name is"
}
Add(Message,10465763,308,217)
{
Caption="Error!"
}
Add(SQLite_DB,3598705,203,126)
{
FileName="test_1,db"
link(onOpen,12802115:doExec,[])
}
Add(SQLite_Exec,12802115,252,126)
{
SQL="CREATE TABLE "users" (\r\nid INTEGER PRIMARY KEY AUTOINCREMENT NULL,\r\nname TEXT NULL,\r\npass TEXT NULL\r\n);\r\nINSERT INTO "users" VALUES(2,'Витя','123');\r\nINSERT INTO "users" VALUES(3,'Оля'),'456';\r\nINSERT INTO "users" VALUES(4,'Олег','667');\r\nINSERT INTO "users" VALUES(5,'Тимофей','888');\r\nINSERT INTO "users" VALUES(6,'Виктор','444');\r\nINSERT INTO "users" VALUES(7,'Валентин','321');\r\n"
}
Add(SQLite_Query,11578939,203,175)
{
SQL="select "" ||\r\n(select name from users where id = 1) from users\r\nwhere (id = (select Max(id) from users));"
link(onQuery,2030446:doCase,[])
link(dbHandle,3598705:dbHandle,[])
}
Add(Case,2030446,252,175)
{
Value=String()
DataOnTrue=String(You are not registered!)
link(onNextCase,8256518:doMessage,[])
link(onTrue,10465763:doMessage,[(296,188)(296,223)])
}


карма: 22

1
Голосовали:Tad
Администрация
Ответов: 15295
Рейтинг: 1519
#21: 2009-03-04 01:20:58 ЛС | профиль | цитата
Tad писал(а):
Зато в неправильно собранных

Tad, может быть истину открою, а может и нет: мы никогда не ориентировались на пользователей, собирающих неправильные схемы. В данном случае предлагать надо было такие изменения

#pas
{$ifdef _PROTECT_MAX_}
if _IsObject(dt,SQLite_GUID) then
begin
{$endif}
FResult := ';
sqlite3_exec(id,PChar(s), callback, self, @mes);
if mes <> ' then
_hi_onEvent(_event_onError, string(mes))
else
_hi_onEvent(_event_onQuery, FResult);
{$ifdef _PROTECT_MAX_}
end;
{$endif}

nesco, оригинальное решение однако, т.е. утверждается, что второй пример является более понятным и правильным, и именно так надо делать?
карма: 27
0
Разработчик
Ответов: 26264
Рейтинг: 2140
#22: 2009-03-04 01:48:05 ЛС | профиль | цитата
Dilma писал(а):
т.е. утверждается, что второй пример является более понятным и правильным, и именно так надо делать?

Да ничего я не утверждал. Ты попросил привести пример схемы, я ее привел. Насчет второго примера, то если ты про мой, то с Case более корректно, чем с If
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#23: 2009-03-04 01:50:03 ЛС | профиль | цитата
ну раз не утверждается, то тогда могу предложить сравнить обе схемы на предмет наглядности в редакторе и сложности построения запроса для получения одних и тех же данных.
карма: 27
0
Разработчик
Ответов: 26264
Рейтинг: 2140
#24: 2009-03-04 01:53:42 ЛС | профиль | цитата
Dilma, да я не против компонента, как раз ту же самую мысль я сам хотел озвучить. Действительно, построить такой запрос не все смогут (тут обычные запросы вызывают у некторых -- ), наглядность и простота понимания схемы с компонентом выше. Но и решение с чистыми запросами, тоже имеет право на существование.
карма: 22

0
24
Сообщение
...
Прикрепленные файлы
(файлы не залиты)