PDA

Просмотр полной версии : Отсутствует flash.data


pas.delger
30.03.2010, 19:03
всем привет!
мне нужно подконнектиться к файла базы данных SQLite.. очевидно, что для этого нада подключить:
flash.data.SQLConnection;
flash.data.SQLStatement;
flash.data.SQLResult;
flash.data.SQLMode;

flash.events.SQLErrorEvent;
flash.events.SQLEvent;

но вот беда: у меня просто-напросто отсутствуют пакеты flash.data (весь!) и flash.events.SQLErrorEvent; flash.events.SQLEvent;

короче, отсутствует все что связано с sql..

подскажите, пожалуйста, что делать ?

etc
30.03.2010, 19:35
Это доступно только в AIR.

pas.delger
31.03.2010, 01:28
ну, может, вопрос глуп, но делать то что ?
или ты имел ввиду что это доступно чисто для air-овских приложений ?
вобщем суть в чем: мне нада подконнектиться к файлу SQLite.. что мне нужно сделать ?

HotIceCream
31.03.2010, 01:38
мм что если коннектиться через посредник, написанный к примеру на php

wvxvw
31.03.2010, 02:56
SQL, это язык программирования. Что такое в вашем понимании "приконектотся к SQL файлу"? Вам нужно дамп базы загрузить или к SQL серверу подсоеденится?

pas.delger
31.03.2010, 15:16
есть такая фича, SQLite.. она создает базу и, ну да, дампит ее в файл .db.. и мне нада работать с этим файлом, ну, читать и вносить записи.. (:

HotIceCream: а как это можно сделать через пхп ? т.е. что-то типа того: пхп читает файл, и отправляет его во флекс ?

мне всеже кажется что можно сделать это чисто средствами флекса, в air-е же предусмотрено.. да и ситуация совершенно типичная..

HotIceCream
31.03.2010, 19:08
вообще я предполагал, что на компе где лежит этот db установлен sql сервер и уже к нему коннектиться через php
а то что ты хочешь - получается ты будешь писать свой обработчик файлов базы данных вместо уже написанных - ms sql и т.п.

pas.delger
31.03.2010, 19:31
нет, ну ребят.. я наверно просто не очень ясно выразился.. тут все очень очень просто:
я пишу программа, которая должна обрабатывать кое какие данные, не очень большой объем.. эти данные она должна где-то хранить.. ну например при входе в прогу нужно зарегистрироваться, и твое Ф.И.О. должно сохраняться в базе.. это приложение не будет даже в инете размещено, исключительно в учебных целях.. и вот вся инфа должна храниться в файлике базы данных.. впринципе, не обязательно sql, хоть access может быть, даже в xml-файлы можно все это забивать.. просто я подумал что sql-как то удобнее.. вот что мне нужно..

wvxvw
31.03.2010, 19:58
Я бы ставил какой-нибудь SQL сервер - он не много весит и есть бесплатные и коннектился к нему из AIR. Писать самому парсер таблиц, особенно в учебных целях мне кажется будет очень долго и не нужно.
Если AIR по какой-то причине не устраивает - сокет и коннектится к тому же SQL серверу. Т.е. работать через интерфейс сервера + запросы а не грузить всю базу целиком.

HotIceCream
31.03.2010, 20:20
если в xml файл записывать .. то наверное можно почитать это http://www.flasher.ru/forum/showthread.php?p=689710 и сохранять в обычный текстовый файл.

pas.delger
01.04.2010, 01:47
ну с xml то я работал, нет проблем.. но вот что ж делать с db ?

wvxvw
01.04.2010, 04:45
Ну как бы вам это еще сказать... смотрите, смысл наличия базы данных заключается в том, что вы можете делать из нее выборки, или дописывать в нее информацию. Если вы ее загрузите всю во флеш, то тем самым вы эти обе выгоды НЕ получите - а взамен будете писать парсер (он не бог весть какой сложный для SQLite но его все равно нужно писать, кроме того, ваш парсер будет сильно успупать по скорости бинарникам сервера, которые наверняка писали умные люди и оптимизировали под ось / платформу). Смысла в такой операции нет, только если вы не планируете сделать какой-нибудь визуализатор базы данных (типа Воркбенч, например). Так что если вам просто нужно хранить данные, то либо XML / CSV / AMF и тому подобные, либо поставьте сервер.

pas.delger
01.04.2010, 11:03
странно, я не думал что могут быть такие сложности.. хорошо помню, как мне приходилось писать прогу на QT, которая прекрасно работала с SQLite, а именно делал выборки и дописывал информацию.. и все это происходило абсолютно просто, типа того:


QSqlQuery q;
q.exec("select * from table1");


ну и вот я подумал, неужели флекс на такое на способен..

хорошо, если все же воткнулись в камень предкновения, тогда может быть по такому принципу можно работать с файлом базы данных access ? потому что через xml я не очень хочу делать, в моем случае это реально неудобно..

wvxvw
01.04.2010, 15:16
Ну я даже не знаю как это еще сказать. Есть 2 рантайма: AIR и Flash Player, в AIR есть средства для чтения и записи в SQLite, а в FlashPlayer их нету и их надо писать. Кроме того в FlashPlayer нету средств по работе с файловой системой, поэтму, например через FileStream не получится это сделать, пайпов тоже нету, вкомпилировать SQLite во влеш вы не сможете - единственное нормальное решение - ставить сервер. А т.как SQLite не работает с сервером, то вам прийдется выбрать другой вариант SQL. А с другой стороны, единственное решение по чтению SQLite файлов в Flash Player это грузить их целиком, что на корню вообще отменяет ее полезность.

bastrakov
07.04.2010, 14:41
я наверно просто не очень ясно выразился..
я пишу программа...эти данные она должна где-то хранить..

ну да. не сказать что бы вы ответили на первый же заданный вопрос. :-)
ваша программа - это air, или она работает только в интернет браузере?
если второе, то решить проблему может SharedObject.
если первое, то там все есть в официальной поставке - включаешь и работает. во

pas.delger
14.04.2010, 18:29
у меня не air.. работает только в интернет браузере.. можно немного подробнее про SharedObject?

я просто удивиллен, что для air это есть, а тут нету!