Brauche ein klein wenig hilfe für mein neues projekt: Mein Serienmanager

  • Wenn du SQL lernen willst kann ich dir dieses Tutorial empfehlen: W3Schools - SQL

    Da dürfte eigentlich das wichtigste drin stehen um dir das Grundkonzept hinter SQL beizubringen. Zudem kannst du die Webseite auch gut als Referenz für die einzelnen SQL Befehle nutzen. Einfach schrittweise durcharbeiten, was dir vielleicht unklar am Anfang ist, wird hinterher nochmal genauer erklärt. Die haben auch einen netten SQL Editor zum testen der einzelnen SQL Befehle mit Beispieldatenbanken. Daran kannst du nichts kaputt machen!

    SQL Editor

    Ansonsten kann ich noch folgende Webseite empfehlen: http://www.datenbanken-verstehen.de/

    Dort kannst du dir genauer ansehen was Datenbanken eigentlich sind, was es mit SQL auf sich hat und welches Grundkonzept / Idee SQL Datenbanken eigentlich verfolgen. Allerdings sind die Infos dort ein wenig in Fachchinesisch geschrieben. Solltest du Fragen zu bestimmten Themenbereichen haben fühle dich frei einfach nachzufragen. Ich beantworte dir deine Fragen gerne.

    ---

    Ansonsten als kleiner Hinweis: Es gibt verschiedene "SQL Dialekte". Je nachdem welche Datenbank Software du verwendest könnten Unterschiede in Datentypen, Befehle oder verwendete Bezeichner / Schlüsselwörter auftreten. SQLLite hat da auch seine Besonderheiten. Allerdings funktioniert alles im Prinzip gleich.

    SQLLite Studio könnte dich beim Lernen unterstützen. Nette Software für SQLLite Datenbanken - relativ einfach zu bedienen und damit lassen sich auch deine Datenbanken zusammenklicken. Falls du nicht so darauf stehen solltest sämtliche Tabellen per CREATE TABLE zu erstellen.

    ---

    Ich glaube ich verfasse hier im Forum mal ein ausführliches SQL Tutorial. Da ich meine Abschlussprüfungen in 1~2 Monaten habe und das auch ein Thema bei mir sein wird, hab ich 2 Fliegen mit einer Klappe geschlagen. Ich hinterlasse mal wieder was nützliches im Internet für Leute die deutschsprachige Tutorials suchen und ich lerne nochmal für meine Abschlussprüfung den ganzen Kram. ^^

    2 Mal editiert, zuletzt von Yjuq (12. April 2018 um 16:53)

  • Seid gegrüßt, da bin ich wieder.:theke:

    -------------------------------------------------------------------------------------

    Danke timee000, dass du mir weiterhin beistehst ;) find ich gut von dir. :thumbup:

    Danke AspirinJunkie, dass du dir die Zeit für mich nimmst :!:dass war sehr aufschlussreich. :thumbup:

    -------------------------------------------------------------------------------------
    Ich versuch das Ganze mit Hilfe von Spoilern mal Übersichtlicher zu machen.

    -------------------------------------------------------------------------------------

    Um sicher zu gehen, dass ichs richtig verstanden habe:

    Thema Sicherheitsprobleme

    Berichtigt mich wenn ich was falsches sage:

    Sicherheitsprobleme treten nicht für mein Pc auf im Sinne von Antivirus, Firewall usw schalten sich aus,

    sondern die Sicherheitsprobleme würden quasi für meine Datenbank bestehen bzw für meinen Kompletten Code samt Inhalt (blöd gesagt)

    aber auch nur, wenn ich anderen die möglichkeit gebe meine Textleiste als Skripteditor zu nutzen um mein Code zu ändern.^^

    Dann könnte er sicher alles mögliche damit machen...

    von Manipulation über Spionage/Datenklau bis hin zum /Delete all aber halt nur innerhalb des Codes und nicht auf meinem System/Pc?

    -------------------------------------------------------------------------------------

    PW/Kontostand Beispiel von AspirinJunkie

    Ich wollte erst nochmal direkt auf dieses Beispiel eingehen wie zb:

    Code
    Die Anordnung der Symbole (z.b. 'SELECT = "' & $s_Passwort '";') ergibt noch nicht wirklich Sinn für mich.
        erst ein ' jeweils aussen und dann auf einmal ("' & $s_Passwort '") sind sie innen, wobei das letzte ' ein Komentar is xD
        oder wieso Passwort = "" Or "" = "" dazu führt das jedes Passwort klappt xD

    Aber dass kann ich mir auch selber googlen! :saint:

    Code
    eine einzige blöde Frage möcht ich aber gern stellen:
    Hats einen bestimmten Grund wieso ihr $s_Passwort / $s_Query schreibt?
    $Passwort / $Query oder $Passwort1 / $Query wär doch dass selbe, oder?
    (Weil ichs schon öfters mit Buchstaben gefolgt von einem Unterstrich gesehen habe, daher frag ich mich obs nur für die übersicht ist oder ob da ein tieferer sinn drin steckt) 

    -------------------------------------------------------------------------------------

    hihi ich seh gerade, dass 2 neue Beiträge zu diesem Thema dazu gekommen wärend ich hier schreibe und grüble :)

    Hm :/ naja brauch ichs? Ist es wichtig für mich?

    Ich sags mal so, ich setz mich solange hin und übe/lerne wie es nötig ist aber übertreiben muss ichs vorerst nich.

    Habe mir erstmal schon genug vorgenommen und sicher wird das nich mein letztes Projekt. =)

    Eins nach dem anderen. ;) ich Danke dir auf jedenfall xSunLighTx3 :thumbup:

    -------------------------------------------------------------------------------------

    Und lieben Dank Yjuq :thumbup: da habe ich auf jedenfall erstmal wieder viel vor mir .:) Das ist wunderschön.:party:

    ich glaube ich verfasse hier im Forum mal ein ausführliches SQL Tutorial. Da ich meine Abschlussprüfungen in 1~2 Monaten habe und das auch ein Thema bei mir sein wird, hab ich 2 Fliegen mit einer Klappe geschlagen. Ich hinterlasse mal wieder was nützliches im Internet für Leute die deutschsprachige Tutorials suchen und ich lerne nochmal für meine Abschlussprüfung den ganzen Kram. ^^

    Das gefällt mir :thumbup: deutschsprachige Tutorials kann es nie genug geben.

    -------------------------------------------------------------------------------------

    So meine lieben ist schon spät heute,

    ich verabschiede mich erstmal und lass mich spätestens in 1-2 Wochen wieder blicken. :rock:

    Einmal editiert, zuletzt von Gehirntod (12. April 2018 um 22:53)

  • Zum Thema Sicherheitsproblem:

    Also für deinen PC sollte keine Gefahr bestehen, für deine Daten in der Datenbank allerdings schon.

    Zwar muss der "Angreifer" sich schon ein bisschen mit deiner Datenbank Struktur auskennen aber ein paar DROP Befehle mit ein paar geläufigen Tabellen Namen sind schnell ausgeführt.

    Aber wie gesagt darüber muss man sich erst Gedanken machen, wenn man z.B. eine Website mit User Input erstellen will die dann in eine Datenbank schreibt.

    Zu dem Beispiel von AspirinJunkie:

    Strings müssen in die Datenbank mit Anführungszeichen übergeben werden. Das heißt dein Befehl in Autoit muss natürlich Anführungszeichen haben aber der Wert für die Datenbank muss auch welche haben.

    Am einfachten ist es wenn man einfache und doppelte Anführungszeichen kombiniert. exec("datenbankabfrage mit 'wert';")

    Und mit den Variablen Namen $s_Passwort. Das machen die meisten so, um direkt zu sehen was sich hinter der Variable verbirgt. Das $s am Anfang steht schlicht und einfach für String.

    $a_Array wäre dann für Array usw. Manche schreiben es auch ohne den unterstrich $aArray. Ist zwar kein muss aber für große Projekte durchaus sinnvoll.

  • Hm :/ naja brauch ichs? Ist es wichtig für mich?

    Ich sags mal so, ich setz mich solange hin und übe/lerne wie es nötig ist aber übertreiben muss ichs vorerst nich.

    Habe mir erstmal schon genug vorgenommen und sicher wird das nich mein letztes Projekt. =)

    Eins nach dem anderen. ;) ich Danke dir auf jedenfall xSunLighTx3 :thumbup:

    Na dann viel Glück. ;)

  • Ich Grüße euch =)

    W3Schools - SQL hab ich mir heute angeschaut! War auf jedenfall sehr informativ, vielen Dank!

    Spoiler anzeigen

    Dort hab ich mich auch über indizes,constraints,index,view belesen wie xSunLighTx3 mir aufgetragen hat. :rock:

    quiz.png

    Es geht auf jedenfall vorran und es kommt immer mehr Licht ins Dunkle! =)

    Als nächstes schau ich mir http://www.datenbanken-verstehen.de/ an.

    Ich glaube ich verfasse hier im Forum mal ein ausführliches SQL Tutorial. Da ich meine Abschlussprüfungen in 1~2 Monaten habe und das auch ein Thema bei mir sein wird, hab ich 2 Fliegen mit einer Klappe geschlagen. Ich hinterlasse mal wieder was nützliches im Internet für Leute die deutschsprachige Tutorials suchen und ich lerne nochmal für meine Abschlussprüfung den ganzen Kram.

    Wär cool, wenn du dann den Link hier Posten würdest. :thumbup:

    Freu mich schon auf dein Tut. :love:

    Meld mich die Tage wieder. =)


    -------------------------------------------------------------------------------------
    So da bin ich wieder,

    ich schreibe gleich hier weiter damit ich keine doppel Post absende.

    -------------------------------------------------------------------------------------

    Mein Serienmanager V3 Code
    Mein Serienmanager v3

    -------------------------------------------------------------------------------------
    Wie ihr sicher an meinem Skript seht tuh ich mich noch etwas schwer... >,<

    (Ich habe mir vorerst zu Testzwecken ein kleineres Ziel vorgenommen... nur damit ich erstmal ein kleines beispiel habe.)

    In die Suchleiste bei ,,Add Serie" die Serie eintragen und durch ein Klick auf den Button ,,Add"

    wird der Serienname in eine .txt Datei geschrieben. Die linke Liste zeigt den Inhalt der .txt Datei an.

    Der Button ,,Clear Text" löscht die Suchzeile. Das Funktioniert soweit.

    Nun wollte ich, dass der gesammte Inhalt der.txt Datei in die Tabelle in die Spalte ,,Titel" eingefügt wird und Automatisch eine ID vergeben wird.

    (Da die .txt Datei Zeile für Zeile geschrieben und schon geordnet ist, sollte es ja keine Probleme geben)

    Und das Cover/Image der Serie soll angezeigt werden.

    Is das überhaupt so umsetzbar?

    Der Plan war, dass ich ein Listview mit den Header ID, Titel und Cover anzeige, welche in meiner DB mit den gleichen Spalten (ID, Titel und Cover) hinterlegt ist nur irgendwie komm ich nich weiter...

    Ich habe AutoIt - How to make a simple web database - YouTube angeschaut und versucht anstatt den Text einer Seite das Bild/Cover von einer Seite anzeigen zu lassen indem ich $http.open('GET', $url) in $http.open('GET', $jpg) änder aber das wäre auch zu einfach gewesen. xD Freue mich über jede Hilfe die ich bekommen kann! =)

    ich schau mir jetzt erstmal SQL Tutorial - YouTube an.

    MFG Hirni aka Gehirntod :theke:

    2 Mal editiert, zuletzt von Gehirntod (20. April 2018 um 09:00)

  • HI hab mich vor ewigkeiten auch mal daran gesetzt kleiner Tip was mir das Verständniss der Mysql-Datenbanken näher gebracht hat ausser der Hilfe der Autoit Komune waren videos auf yuoutube schau mal in den channel der Informatikzentrale rein (war für mich in vieler weise hilfreich.) was ich die noch nahelege ist die Datenbank nicht selbst mit Daten zu füllen sondern schon vorhandene Daten einpflegen geht sehr einfach über das auslesen bestimmter webseiten bei serien fand ich gut und einfach http://www.thetvdb.com die ist groß und habe bisher keine serie dort nicht gefunden. denn die infos zu schreiben geht zwar und bei 1 bis 10 serien kein problem aber irgendwann wird es anstrengend. ich schau mal ob ich meine alten Ansätze finde dann post ich sie dir gerne. hab es irgendwann nicht mehr weiter verfolgt. Aber dir viel erfolg damit.

  • "SELECT * FROM $TxtData" & _
    "INSERT INTO tbl_Serien (Titel);"

    Das wird so nicht funktionieren. Mit SELECT fragst du Daten aus einer Datenbank ab, wobei $TxtData dann der Name der Tabelle sein müsste und nicht ein String mit Werten.

    Außerdem wird die Variable so aktuell einfach als String gesehen, da sie in den Anführungszeichen steht. So wäre es von der Syntax her richtig "SELECT * FROM " & $TxtData

    Grundsätzlich ist es möglich Bilder in der Datenbank zu speichern. Ich selber habe bis jetzt nur ein bisschen mit Base64 rumprobiert und weiß das es damit geht, die erzeugte Zeichenfolge je nach Bildgröße und Farben schonmal 1. Mio Zeichen lang werden kann. Es gibt durchaus noch andere Möglichkeiten. Am besten einfach mal danach Googlen. Da findet man einige Threads.

    Um die Zeilen aus der .txt in die Tabelle zu bringen würde ich es so machen:

    Code
    $TxtDatei = FileReadToArray("AllSeries.txt")
    
    For $i = 0 To UBound($TxtDatei) - 1
        _SQLite_Exec($MainDB, "INSERT INTO tbl_Serien (Titel) VALUES ('" & $TxtDatei[$i] & "');")
    Next

    (Bei vielen Werten kannst du noch BEGIN und COMMIT verwerden.)

    Was dir eventuell auch noch helfen könnte ist Datagrip von JetBrains. Das Tool selber kenne ich zwar nicht aber es dürfte sehr ähnlich sein mit dem Datenbank-Tool was z.B. in PhpStorm integriert ist, was ich dort oft nutze und sehr hilfreich finde. Du kannst direkt sehen wie du einen SQL Befehl zusammenstellen kannst, ob darin Fehler enthalten sind und ihn mal ausführen und schauen ob er funktioniert und dann in AutoIt übertragen.

    Viel Erfolg :)

  • Grüß euch,

    ich bin wieder da und würde gern an meinem Serienmanager weiter arbeiten. Freue mich wie immer über jede Unterstützung!

    Wie gesagt ich würde gerne Serieninformationen von einer Internetseite abrufen und in meinen Serienmanager anzeigen lassen. (erstmal nur den Titel, die Beschreibung und eine Nummerierung)

    Teil1 von meiner 3th Version schreibt doch eigentlich nur Wörter aus der Inputbox in eine .txt datei und zeigt diese als Listview.

    Ich bin mir halt über den Aufbau noch unklar, wenn ich drüber nachdenke is das doch alles überflüßig mit dem listview und create list usw, oder? Da muss doch ne Tabelle hin die mit Informationen gefühlt werden kann, richtig?

    Kann ich nich einfach eine Inputbox mit einer Internetseite Verbinden, sodass er das gewünschte Wort auf der Seite sucht (wie im browser mit strg+f) den Link klickt und mir die gewünschten infos als Tabelle anzeigt? (wäre glaub ich am einfachsten?)

    Ich hab ein wenig rumprobiert und bin auf den Command inetget gestoßen... jetzt hab ich die ganzen informationen von der Seite als fette .txt Datei aber weiss nich wie ich jetzt weiter machen soll. =(

    Wäre wirklich cool wenn mir einer Hilft.

    Mfg Hirni =)