[Guide] MySQL und Autoit

  • Hallo Godlikerz
    Hier mein 2. Guide.
    Ich möchte euch mit diesem Guide die MySQL Funktionen von AutoIT zeigen.
    Los gehts dann auch mal.

    Vorbereitung:
    Ladet euch zuerst folgendes Paket herunter: DOWNLOAD MYSQLPAKET. Enthalten ist die MySQL.au3 eine UDF. Packt sie einfach ins Includeverzeichnis von autoit.
    Installiert wird dabei nur der MySQL ODBC Treiber, damit man überhaupt mit AutoIT MySQL Aufgaben ausführen kann.
    Damit wäre die Vorbereitung abgeschlossen.

    Script vorbereiten
    In jedes Script, dass mit MySQL arbeitet kommt ein

    Code
    #include <MySQL.au3>

    damit man die Funktionen der UDF nutzen kann.
    Nun die ganzen Funktionen die mir bekannt sind.
    Außerdem fügt folgende Angaben in euer Script ein oder benutzt eine .ini

    Code
    $UserName = "autoit" ;MySQL User
    $Password = "password" ;MySQL Passwort
    $Database = "dcot" ;Database
    $MySQLServerName = "localhost" ;Hostname oder IP
    
    
    $SQLInstance = _MySQLConnect($UserName,$Password,$Database,$MySQLServerName) ;enthält dann eine Instanz eurer DB

    [feld="Hinweis zum @error-Flag"]Wenn alles klappt, dann ist dieser Wert 0. Ist er 1, dann gibt es ein Connectionproblem, bei dem Wert 2 ist der ODBCtreiber nicht installiert.[/feld]
    Geschlossen wird die Verbindung übrigens mit

    Code
    _MySQLEnd($SQLInstance)

    1. Auslesen von Dateien und anzeigen
    Das Auslesen von Daten aus der DB erfolgt mit folgendem Code. In diesem Beispiel wollen wir aus der Tabelle Accounts alle IDs und den dazugehörigen Account auslesen. Dies wird durch folgenden Code errreicht:

    Code
    $SQLCode = "SELECT * FROM accounts" ;wählt aus der Tabelle accounts aus
    $TableContents = _Query($SQLInstance,$SQLCode) ;führt ein Query aus mit der vorhergehenden Variable $SQLInstance, die ja eine Instanz der DB enthält

    Nun wollen wir eine MessageBox mit unseren Daten erstellen. Nehmt dazu folgenden Code:

    Code
    With $TableContents
    While Not .EOF
    $NameList &= .Fields ("id").value & " " & .Fields ("username").value & @CRLF
    .MoveNext
    WEnd
    EndWith
    MsgBox(0,"Accountliste",$NameList) ;Erklären kann ich nicht viel, außer, dass die Variable $TableContent benutzt wird.

    2. Einträge hinzufügen
    Am besten man erstellt zwei Arrays, damit alles einfacher wird.

    Füllt einfach die "" Zeichen so aus, wie ihr es braucht. Es ist wichtig, dass am Ende immer eine leere Variable ist. Also macht die Arrays immer um eins höher als ihr sie braucht
    Danach folgt ein

    Code
    _AddRecord($SQLInstance,"accounts",$ColumnNames,$NewAccounts) ;fügt die Infos im Array $NewAccounts zur DB hinzu in die Tabelle accounts.

    3. Einträge löschen
    Zum löschen von Einträgen, nehmt einfach nochmal die Arrays aus 1. .
    Danach benutzt folgenden Code:

    Code
    $TableName = "accounts" ;Name der Tabelle aus der der Einträg gelöscht wird
    $Column = "username" ;Spalte anhand der der Eintrag identifiziert wird
    $RecordID = "test" ;Inhalt der Zeile, die gelöscht werden soll
    
    
    _DeleteRecord($SQLInstance,$TableName,$Column,$RecordID) ; löscht in diesem Beispiel den User test, ihr könnt auch jeden anderen nehmen

    4. Weitere Funktionen

    Dies war mein Guide über die MySQLfunktionen, die in der UDF enthalten sind.
    Dort kann man alles nochmal nachlesen Über Feedback würde ich mich freuen.

  • Ich sag auch mal danke, wird mir bei meinem Projekt helfen!

  • hi Internetfreak ich wollte dich nachfragen ob es machtbar ist wen in einer db sagen wir namens "Test" 3 spalten sind nammens : "Name" "Status" "Bekant"
    folgenes beispiel
    Name Status Bekant
    Test Eingetragen No

    das wen er das script ausfürt
    und sein nammen eintippt und den statusdas bei dan bei bekant von No auf Yes gechangt wird???

    vielen dank im vorraus

  • Zitat von sedas;93536

    hi Internetfreak ich wollte dich nachfragen ob es machtbar ist wen in einer db sagen wir namens "Test" 3 spalten sind nammens : "Name" "Status" "Bekant"
    folgenes beispiel
    Name Status Bekant
    Test Eingetragen No

    das wen er das script ausfürt
    und sein nammen eintippt und den statusdas bei dan bei bekant von No auf Yes gechangt wird???

    vielen dank im vorraus

    Ich würde ihm eine PM schicken^^ Der Thread ist etwas älter

  • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="3"]PM brauch er nich, sehs ja jetzt auch
    (UserCP hats mir gesagt xD)
    Wusste schon garnimmer dass der Thread hier noch lagert, so alt is der^^
    War glaube ich der zweite Guide, den ich hier gepostet habe, als ich mich registriert hab.

    So um nun aufs Thema zu kommen.
    Ja, es ist möglich.
    Du hast ja deine Tabelle mit daten.
    Wenn du nun hingehst und den User seinen Namen eintippen lässt, machste ein Query, wo zuerstmal abgefragt wird: "Existiert der Eintrag xy mit dem Namen halt."
    Wenn ja, dann machste ein Update-Query wobei du dann den Status halt auf Ja stellst.
    Das MySQL Handbuch kann dir dabei helfen, die Querys zu machen^^
    Hoffe ich habe dir damit geholfen[/SIZE][/COLOR][/FONT]

  • HI
    link oben funktioniert nicht
    link blog ?? was soll da zu finden sein?

    die ersten schritte zum start kann ich nicht nachvollziehen, also kannich das tut vergessen

    gruss roland

  • Hi danke fuer die antwort,

    ich will ein beispiel durchziehn auf eine datenbank (mysql im web)

    wie muss ich denn da genau vorgehen, dass ich zumindest mal die datenbank ansteuern kann.

    die sql anweisungen kann ich inzwischen.

    eventuell bin ich mit 65 jahren zu begriffstutzig :melt:

    zur zeit mache ich ne abfrage ueber autoit, indem ich ne php seite auslese

    zb. ../ausgabe.php?test=muster --> kommt heraus der eintrag in der tabelle, der zu muster passt
    spalte wer --> muster spalte punkte = 456 ---> ausgabe: 456

    kann mir da jemand genaue anleitung geben wie ich da schritt fuer schritt vorgehe ?

    teamviever wäre da eventuell nützlich.

    danke erst mal

    gruss roland

  • Der Thread ist schon 3 Jahre alt. Ich glaube kaum, dass der Ersteller des Guides noch die Dateien hat. Außerdem war er schon einige Zeit nicht online, sodass ein Upload seinerseits unwahrscheinlich ist.

    Daher schließe ich hier mal.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!