| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jul 2008
Beiträge: 117
| SQLLite oder herkömmliche Arrays/XML?
Hi Leute! Ich stehe momentan vor einer schwierigen Entscheidungsfrage wie ich mein Programm entwickeln soll und bräuchte daher ein paar Tipps. Und zwar bastle ich an einer reinen Offline-Applikation. In dieser sollen unter anderen Personaldaten der Mitarbeiter einer Abteilung gewartet werden können (Name, Alter, Wohnort, usw.). Die Oberfläche habe ich in Flash bereits umgesetzt. Jetzt geht es halt darum wie ich die Daten verwalte. Da mir das FileReference Klasse von CS 4 nicht ausreicht um Zwischenspeicherungen und der gleichen durchzuführen, habe ich mich jetzt für eine AIR Umsetzung entschieden. Bei ähnlichen Anwendungen die ich bis jetzt enwickelt habe (NUR Flash), habe ich es stets so gehandhabt, dass ich die Datensätze in einer XML Datei gespeichert habe und von dort in ein Array gesteckt habe. Die Daten habe ich nach dem Bearbeiten durch Flash wieder ins XML Format gebracht und als XML Datei abgespeichert. Da ich aber eben nun auf AIR setze, bin ich momentan stark am überlegen, ob ich nicht auf die SQLLite Option setzen sollte, die AIR anbietet und sämtliche Userdaten in einer SQLLite Datenbank abzulegen. Ich möchte in meiner Applikation die Datensätze auch filtern, so sollen zum Beispiel nur alle Personen angezeigt und sortiert werden deren Anfangsbuchstabe des Nachnamens "M" ist. Hier stehe ich momentan schon etwas an, was die Lösung mit den Arrays angeht. Ich bin mir aber auch nicht sicher, ob SQLLite diese Möglichkeiten bietet. Meine SQL Kenntnisse beschränken sich momentan leider nur auf das Wesentlichste. Ich habe aber Kollegen, die mir da weiterhelfen können. Ich wäre sehr dankbar, wenn mir jemand Hilfe geben könnte, welchen Weg ich einschlagen soll! Besten Dank für eure Hilfe! lg Chris |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2008
Beiträge: 117
|
Hi Nico! Danke für deine Antwort. Ja es wird wohl die Datenbank Lösung werden. Für mich ist es eben wichtig, dass ich die Daten auch gefiltert und sortiert in der Benutzeroberfläche ausgeben kann, also anhand von SELECT Befehlen. Blöde Frage: Diese sind doch mit SQLite dann anhand von Actionscript ausrufbar oder habe ich da irgendwelche Beschränkungen? Außerdem:Verwendest du Zusatztools um SQLite Datenbanken zu warten? Danke lg Chris |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Dec 2005 Ort: Oldenburg
Beiträge: 2.407
|
Ich nutze eigentlich immer "heidisql", aber da gibts zig Tools die genauso gut sind. ![]() Das Sortieren etc. kannst Du wunderbar per SQL-Befehle regeln, wahrscheinlich sogar "cooler/performanter" als in Flash selbst. |
| | |
| | #5 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Wieso ist das eine reine offline Applikation? Sind das nicht Daten, die man tendenziell auch von mehreren Terminal aus nutzen möchte?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jul 2008
Beiträge: 117
|
@nico Danke für den Tipp! @Omega Psi Es soll eine Art Analyse/ControllingTool werden, die nur eine bestimmte Person der jeweiligen Abteilung verwenden soll und die Daten nur für diese Person ersichtlich sein sollen. Eine serverbasierende Lösung wäre nach momentanen Stand etwas überzogen, da hier auch die Infrastruktur dazu fehlt. |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jul 2008
Beiträge: 117
|
So ich habe nun auf die SQL Variante gesetzt und nun steht es schon mal an. Ich habe nun ein "Formular" in Flash erstellt wo anhand von TextFelder sämtliche Userdaten eingegeben werden ("Vorname","Nachname",etc.). Nun möchte ich diese in meine Datenbank abspeichern. Die Tabelle in der DB hat exakt die gleiche Spaltenanzahl wie die Eingabefelder in Flash. Mit meiner alten Array-Variante habe ich es so gehandhabt, dass ich anhand einer FOR Schleife alle Inhalte der TextFelder mit einer Zählvariable durchgegangen bin und diese in die jeweilige Arrayposition abgespeichert habe. Nun möchte ich diesen Komfort auch bei der SQL Variante haben. Doch meines momenten Wissens nach muss ich praktisch jede DB-Spalte aufgrund Ihres Namens ansprechen. Also: INSERT INTO personalDaten (vorname,nachname,) VALUES ('MAX','MUSTERMANN') Kann man dies nicht auch anhand einer Zählvariable handhaben, indem ich alle Spalten automatisch der Reihe nach durchgehe oder ist es bei SQL hier zwingend notwendig den Spaltennamen mitanzugeben? Besten Dank. lg Chris |
| | |
| | #8 (permalink) | ||
| Kein Meister Registriert seit: Feb 2011 Ort: Zuhause. Näheres auf Anfrage.
Beiträge: 33
|
Hallo, wenn ich Dich richtig verstehe willst du eine Zeile in einer Schleife befüllen. spontan fällt mir da folgendes ein. PHP-Code: Hab das jetzt nicht getestet, sollte aber laufen. Evtl. die DB synchon öffnen, damit das auch wirklich nacheinander abläuft, falls das so sein muss. (Datenbank Connect etc. musst du natürlich vorher machen, evtl. in einem Konstruktor einer Klasse die das alles händelt). Evtl. gibts ne bessere Lösung (vielleicht per SQL statements - keine Ahnung genau, denn ich bin auch nicht so der SQL Experte), probier einfach mal ![]() Ach so, eins noch. Zitat:
In der as3corelib findest du dazu MD5 oder SHA1 Generatoren. Nachtrag: Bezüglich der verschlüsselung der DB. Wenn du die DB ausserhalb mit einem Tool anlegst/design'st, dann achte darauf dass Du sie UTF-16 anlegst, denn Air verlangt bei der Verschlüsselung UTF-16 (ohne Verschlüsselung komischerweise nicht). Nachtrag 2: Mit dem Tool Lita kannst du verschlüsselte SQLite Datenbanken administrieren. Ist zwar nicht so komfortable und umfangreich wie andere Tools, ist aber auch ein Air Programm und kann deshalb die Verschlüsselung (out of the Box) die Air bietet. Und noch ein Hinweis zu dem assoziativen Array "person". In der Hilfe steht: Zitat:
Greetz Geändert von DabelDirk (17-03-2011 um 22:05 Uhr) | ||
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Jul 2008
Beiträge: 117
|
Hi DabelDirk! Danke für deine Antwort und die hilfreichen Tipps! Werde ich wahrscheinlich noch brauchen!!!Bestens! Es hat sich mittlerweile aber wieder ein kleines SQL Verständnisproblem aufgetan. Und zwar habe ich bei der Erstellung meiner Tabelle zwei Felder (vorname,nachname) mit NOT NULL also als Pflichtfelder deklariert. Der Benutzer gibt über Eingabetextfelder eben seine persönlichen Daten ein und diese werden in die Datenbank geschrieben. Funktioniert soweit. Nur, kommt es mir eigenartig vor, dass wenn der Benutzer die beiden Pflichtfelder(vorname,nachname) NICHT befüllt, es SQLite trotzdem akzeptiert und keine Fehlermeldung ausspuckt, das die beiden NOT NULL Felder nicht befüllt wurden. Ich bilde mir ein, SQL müsste da einen Error ausgeben oder ist das Standard, dass er da trotzdem drüberläuft und ich eine extrige Prüfroutine per AS schreiben muss? |
| | |
| | #10 (permalink) |
| Kein Meister Registriert seit: Feb 2011 Ort: Zuhause. Näheres auf Anfrage.
Beiträge: 33
|
Hallo, Du verstehst das schon richtig! Wenn Felder in der DB "not null" sind MUSS da ein Wert rein und du bekommst einen Datenbankfehler (zb. im error-responder, oder mit catch oder halt zur Laufzeit eine unbehandelte Exception), wenn bei einem Insert so ein Feld kein Wert erhält. Ich vermute mal, du schreibst da ein Leerstring rein und das ist eben nicht null. Der Wert von einem Textfeld wenn es leer ist, ist "" - also ein Leerstring (inputText.text = "") und das akzeptiert die Datenbank als "not null". D.h. Du musst das schon in AS vorher prüfen ob alle Felder mit gültigen Werten gefüllt sind, bevor du das in die Datenbank schreibst. Greetz Geändert von DabelDirk (18-03-2011 um 23:50 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Flex und SQLlite problem | mirzahat | Adobe AIR | 8 | 08-10-2009 10:38 |
| SQLLite | gigo | Adobe AIR | 2 | 17-02-2008 22:15 |
| Zinc o.ä. und SQLlite? | kugelfunk | Am Rande | 3 | 09-01-2007 13:08 |
| Arrays mit URL, oder umgekehrt ?! | SirGottfried | ActionScript 1 | 5 | 22-05-2003 06:23 |
| arrays über arrays - aber watt sind überhaupt arrays? | ActionScript 1 | 14 | 29-01-2002 16:08 | |