Вверх ↑
Этот топик читают: Гость
Ответов: 1891
Рейтинг: 110
#1: 2010-09-22 00:46:10 ЛС | профиль | цитата
nesco, вот скомпилировал sqlite3_7_2.obj. Пробуй
------------ Дoбавленo в 00.46:
С датами тоже вроде работает
карма: 0
%time%
2
файлы: 1sqlite3_7_2.rar [173.7KB] [471]
Голосовали:nesco, Mandriva
Разработчик
Ответов: 26112
Рейтинг: 2124
#2: 2010-09-22 00:46:48 ЛС | профиль | цитата
Tad, версия не та, нужна минимум 3_4_2, она поддерживает запись HEX текста в BLOB поля, младшие версии этой возможности не имеют

Alexbootch, попробуй с датами поработать, старые версии у меня в RunTime сваливались
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#3: 2010-09-22 00:53:51 ЛС | профиль | цитата
Alexbootch,
1. Предложенный вариант увеличивает размер картинки в БД в 2 раза. (а чем больше БД - тем неповоротливей)
2. Пользуюсь другим вариантом - картинки хранятся в папке Images рядом с файлом БД. А в таблице - Описание и имя файла картинки - дёшево, сердито и никаких проблем.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1891
Рейтинг: 110
#4: 2010-09-22 00:55:45 ЛС | профиль | цитата
nesco писал(а):
Alexbootch, попробуй с датами поработать, старые версии у меня в RunTime сваливались


Сейчас проверил по справке date and time functions - все работает.

карма: 0
%time%
0
Разработчик
Ответов: 26112
Рейтинг: 2124
#5: 2010-09-22 00:55:52 ЛС | профиль | цитата
Alexbootch писал(а):
Пробуй

Рисунки читает. Надо бы еще быстродействие проверить по доступу к последней строке, как ты тогда проверял, раньше

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#6: 2010-09-22 00:56:55 ЛС | профиль | цитата
nesco писал(а):
она поддерживает запись HEX текста в BLOB поля
А на фига я должен писать HEX в BLOB ?
Для форса?
Я HEX и в TEXT поле запишу с тем же результатом
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26112
Рейтинг: 2124
#7: 2010-09-22 01:00:30 ЛС | профиль | цитата
Alexbootch писал(а):
Сейчас проверил по справке

Влом сейчас писать пример с датами, у тебя готового нет для проверки
------------ Дoбавленo в 00.58:
Tad писал(а):
А на фига я должен писать HEX в BLOB ?
Для форса?

Для какого форса, он автоматически преобразуется в бинарный формат, а в тексте будет в два раза длиннее. Ты чего, этого не знал
------------ Дoбавленo в 01.00:
Кстати, первые эксперименты и были с текстом HEX
карма: 22

0
Ответов: 1891
Рейтинг: 110
#8: 2010-09-22 01:06:22 ЛС | профиль | цитата
Tad писал(а):
1. Предложенный вариант увеличивает размер картинки в БД в 2 раза. (а чем больше БД - тем неповоротливей)


Да, точно, не та версия, надо через x'hex' записывать Вот правильный вариант:

code_20726.txt
------------ Дoбавленo в 01.06:
nesco писал(а):
Влом сейчас писать пример с датами, у тебя готового нет для проверки


Вот старая моя схема:

Add(MainForm,7945475,231,133)
{
Left=20
Top=105
Caption="SQLiteDate"
Position=1
link(onCreate,5699485:doWork1,[(285,153)(285,174)])
}
Add(MultiElement,5699485,308,168)
{
link(onEvent1,8758002:doText,[])
link(onEvent2,10029738:doText,[(352,181)(352,216)])
link(onEvent3,139799:doText,[(355,188)(355,265)])
link(onEvent4,7143184:doText,[(352,195)(352,307)])
link(onEvent5,4147518:doText,[(352,202)(352,356)])
}
BEGIN_SDK
Add(EditMulti,10330621,3,3)
{
EventCount=5
WorkCount=1
VarCount=1
Width=440
Height=529
link(doWork1,9269479:doOpen,[(15,9)(15,48)])
link(Var1,10128144:Data6,[(9,331)(69,331)])
}
Add(SQLite_Query,13324481,112,42)
{
SQL="SELECT strftime('%w', 'now','localtime');"
link(onQuery,1922708:doValue,[(163,48)(163,83)])
link(dbHandle,10128144:Data1,[(118,32)(72,32)(72,140)(34,140)])
}
Add(SQLite_DB,9269479,28,42)
{
FileName="temp.db"
link(onOpen,7399598:doEvent1,[])
}
Add(StrList,9278835,175,28)
{
Strings=#11:Воскресенье|11:Понедельник|7:Вторник|5:Среда|7:Четверг|7:Пятница|7:Суббота|
}
Add(ArrayRW,12958949,182,140)
{
link(onRead,15692226:doString,[])
link(Array,9278835:Array,[(188,86)(195,86)])
link(Index,1922708:Value,[(195,114)(202,114)])
}
Add(Memory,1922708,196,77)
{
link(onData,12958949:doRead,[(252,83)(252,114)(172,114)(172,146)])
}
Add(SQLite_Query,1754939,98,266)
{
SQL="SELECT strftime('%j','now')"
link(onQuery,10330621:onEvent3,[(286,272)(286,23)])
link(dbHandle,10128144:Data3,[(104,198)(48,198)])
}
Add(SQLite_Query,7718814,98,210)
{
SQL="select strftime('Текущая дата: %d.%m.%Y','now','localtime')"
link(onQuery,10330621:onEvent2,[(286,216)(286,16)])
link(dbHandle,10128144:Data2,[(104,170)(41,170)])
}
Add(GetData,10128144,28,98)
{
Count=7
link(Data,9269479:dbHandle,[])
}
Add(Hub,7399598,70,42)
{
OutCount=5
link(onEvent1,13324481:doQuery,[])
link(onEvent2,7718814:doQuery,[(112,55)(112,142)(88,142)(88,216)])
link(onEvent3,1754939:doQuery,[(112,62)(112,170)(88,170)(88,272)])
link(onEvent4,5440297:doQuery,[(112,69)(112,191)(88,191)(88,314)])
link(onEvent5,9774964:doQuery,[(112,76)(112,253)(4,253)(4,433)])
}
Add(FormatStr,15692226,245,140)
{
Mask="Текущий день недели: %1 "
link(onFString,10330621:onEvent1,[(360,146)(360,9)])
}
Add(SQLite_Query,5440297,98,308)
{
SQL="SELECT strftime('%m', 'now','localtime')"
link(onQuery,9798860:doValue,[(156,314)(156,335)])
link(dbHandle,10128144:Data4,[(104,219)(55,219)])
}
Add(StrList,8171401,189,280)
{
Strings=#0:|6:Январь|7:Февраль|4:Март|6:Апрель|3:Май|4:Июнь|4:Июль|6:Август|8:Сентябрь|7:Октябрь|6:Ноябрь|7:Декабрь|
}
Add(ArrayRW,1610974,196,392)
{
link(onRead,13930182:doString,[])
link(Array,8171401:Array,[(202,338)(209,338)])
link(Index,9798860:Value,[(209,366)(188,366)])
}
Add(Memory,9798860,182,329)
{
link(onData,1610974:doRead,[(266,335)(266,366)(186,366)(186,398)])
}
Add(FormatStr,13930182,301,392)
{
Mask="Текущий месяц: %1 "
link(onFString,10330621:onEvent4,[(367,398)(367,30)])
}
Add(SQLite_Query,11137109,105,427)
{
link(onQuery,10330621:onEvent5,[(290,433)(290,37)])
link(dbHandle,10128144:Data5,[(111,279)(62,279)])
}
Add(FormatStr,3266415,63,427)
{
Mask="SELECT strftime('Текущая неделя: %W','%1')"
link(onFString,11137109:doQuery,[])
}
Add(SQLite_Query,9774964,14,427)
{
SQL="SELECT datetime('now','localtime')"
link(onQuery,3266415:doString,[])
link(dbHandle,10128144:Data7,[(20,279)(76,279)])
}
END_SDK
Add(Label,8758002,364,168)
{
Left=10
Top=50
}
Add(Label,10029738,364,210)
{
Left=10
Top=10
}
Add(Label,11367987,427,259)
{
Left=10
Top=75
Width=125
Height=17
Caption="Прошло с Нового года: "
}
Add(Label,7143184,364,301)
{
Left=10
Top=30
}
Add(Label,139799,364,259)
{
Left=135
Top=75
}
Add(Label,4147518,364,350)
{
Left=10
Top=95
}
Add(ChildGroupBox,6475006,308,406)
{
link(Data1,5699485:Var1,[])
}
BEGIN_SDK
Add(EditMulti,8635578,3,3)
{
DataCount=1
Width=419
Height=263
}
Add(GroupBox,16355191,21,203)
{
Left=10
Top=120
Width=375
Height=135
Caption="Определение дня недели"
Point(doVisible)
}
Add(Label,10991555,28,28)
{
Left=10
Top=20
Width=137
Height=17
Caption="Введите дату (mm.dd.yyyy):"
}
Add(Edit,10514770,84,28)
{
Left=10
Top=40
Width=345
Text=""
}
Add(Button,10851230,7,77)
{
Left=10
Top=70
Width=345
Caption="Определить день недели"
link(onClick,7948925:doEvent1,[])
}
Add(SQLite_Query,13324481,196,77)
{
link(onQuery,1922708:doValue,[(254,83)(254,118)])
link(onError,14311307:doMessage,[(238,97)(238,145)(123,145)(123,188)])
link(dbHandle,8635578:Data1,[(202,40)(9,40)])
}
Add(StrList,9278835,259,63)
{
Strings=#11:Воскресенье|11:Понедельник|7:Вторник|5:Среда|7:Четверг|7:Пятница|7:Суббота|
}
Add(ArrayRW,12958949,266,175)
{
link(onRead,2859762:doText,[])
link(Array,9278835:Array,[(272,121)(279,121)])
link(Index,1922708:Value,[(279,149)(314,149)])
}
Add(Memory,1922708,308,112)
{
link(onData,12958949:doRead,[(343,118)(343,149)(256,149)(256,181)])
}
Add(Edit,2859762,315,175)
{
Left=10
Top=105
Width=345
Text=""
}
Add(FormatStr,13431211,154,77)
{
Mask="SELECT strftime('%w', '%1');"
link(onFString,13324481:doQuery,[])
}
Add(Message,14311307,133,182)
{
}
Add(Hub,7948925,49,77)
{
link(onEvent1,9845371:doWork1,[])
}
Add(MultiElement,9845371,91,77)
{
link(onEvent1,13431211:doString,[])
link(Data1,10514770:Text,[(97,69)(90,69)])
}
BEGIN_SDK
Add(EditMulti,15446225,3,3)
{
EventCount=1
WorkCount=1
DataCount=1
Width=440
link(doWork1,13223697:doEvent1,[(12,9)(12,97)])
}
Add(Copy,6139104,77,77)
{
Position=7
Count=4
link(onCopy,9675153:doValue,[(170,83)(170,90)])
link(Str,3343168:Data1,[(83,62)(76,62)])
}
Add(GetData,3343168,70,14)
{
Count=3
link(Data,15446225:Data1,[(76,9)(9,9)])
}
Add(Hub,13223697,21,91)
{
OutCount=4
link(onEvent1,6139104:doCopy,[(65,97)(65,83)])
link(onEvent2,12701161:doCopy,[(89,104)(89,125)])
link(onEvent3,9044725:doCopy,[(117,111)(117,160)])
link(onEvent4,10798155:doString,[(173,118)(173,174)])
}
Add(Copy,12701161,126,119)
{
Position=4
Count=2
link(onCopy,15049517:doValue,[(222,125)(222,104)])
link(Str,3343168:Data2,[(132,83)(83,83)])
}
Add(Copy,9044725,182,154)
{
Position=1
Count=2
link(onCopy,16716063:doValue,[(278,160)(278,125)])
link(Str,3343168:Data3,[(188,100)(90,100)])
}
Add(Memory,9675153,231,84)
{
}
Add(Memory,15049517,287,98)
{
}
Add(Memory,16716063,343,119)
{
}
Add(FormatStr,10798155,294,168)
{
DataCount=3
Mask="%1-%2-%3"
link(onFString,15446225:onEvent1,[(384,174)(384,9)])
link(Str1,9675153:Value,[(300,142)(237,142)])
link(Str2,15049517:Value,[(307,149)(293,149)])
link(Str3,16716063:Value,[(314,160)(349,160)])
}
END_SDK
END_SDK
Add(StyleXP,16440241,231,91)
{
}
Add(StatusBar,3848499,231,196)
{
Text="© Alexbootch, 2007"
}


карма: 0
%time%
0
файлы: 1code_20726.txt [20.7KB] [702]
Разработчик
Ответов: 26112
Рейтинг: 2124
#9: 2010-09-22 01:11:22 ЛС | профиль | цитата
Alexbootch писал(а):
Да, точно, не та версия

Точно, там было с x'hex', я сам этот вариант запсил куда-то
------------ Дoбавленo в 01.11:
Alexbootch писал(а):
Вот старая моя схема

Да, работает, сейчас пойду еще пошукаю неработаюший пример в компонентах, возможно, он тоже заработает

карма: 22

0
Ответов: 1891
Рейтинг: 110
#10: 2010-09-22 01:13:35 ЛС | профиль | цитата
nesco писал(а):
Рисунки читает


Рисунки тоже читает и пишет. Проверил на code_20726.txt
карма: 0
%time%
0
Разработчик
Ответов: 26112
Рейтинг: 2124
#11: 2010-09-22 01:14:54 ЛС | профиль | цитата
Alexbootch писал(а):
Рисунки тоже читает и пишет

Ну да, я про это и говорю
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#12: 2010-09-22 01:20:12 ЛС | профиль | цитата
nesco писал(а):
Ты чего, этого не знал
А ты это проверял ? И в BLOB и в TEXT 110 кб, при длине картинки 52 кб.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26112
Рейтинг: 2124
#13: 2010-09-22 01:26:53 ЛС | профиль | цитата
Tad писал(а):
А ты это проверял ? И в BLOB и в TEXT 110 кб, при длине картинки 52 кб

Да ответили уже
Alexbootch писал(а):
надо через x'hex' записывать

Вот тут это дело обсасывали http://www.hiasm.com/forum.html?q=3&p=60939#p60939
Это дело только что проверял, размер чуть длиннее одной картинки

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#14: 2010-09-22 01:31:29 ЛС | профиль | цитата
Alexbootch писал(а):
Вот старая моя схема:
Извращенец.
Введите дату (mm.dd.yyyy):

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1891
Рейтинг: 110
#15: 2010-09-22 01:34:00 ЛС | профиль | цитата
Tad писал(а):
Извращенец.


Tad, это очепятка Писать надо: dd.mm.yyyy
карма: 0
%time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)