[Guide] MySQL und Autoit

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [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

    Quellcode

    1. #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

    Quellcode

    1. $UserName = "autoit" ;MySQL User
    2. $Password = "password" ;MySQL Passwort
    3. $Database = "dcot" ;Database
    4. $MySQLServerName = "localhost" ;Hostname oder IP
    5. $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

    Quellcode

    1. _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:

    Quellcode

    1. $SQLCode = "SELECT * FROM accounts" ;wählt aus der Tabelle accounts aus
    2. $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:

    Quellcode

    1. With $TableContents
    2. While Not .EOF
    3. $NameList &= .Fields ("id").value & " " & .Fields ("username").value & @CRLF
    4. .MoveNext
    5. WEnd
    6. EndWith
    7. 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.

    Quellcode

    1. Dim $ColumnNames[7]
    2. $ColumnNames[0]= "id"
    3. $ColumnNames[1]= "username"
    4. $ColumnNames[2]= "password"
    5. $ColumnNames[3]= "accesslevel"
    6. $ColumnNames[4]= "logged_in"
    7. $ColumnNames[5]= "channelnum"
    8. $ColumnNames[6]= "bankpassword"
    9. Dim $NewAccounts[7]
    10. $NewGuest[0]= ""
    11. $NewGuest[1]= ""
    12. $NewGuest[2]= ""
    13. $NewGuest[3]= ""
    14. $NewGuest[4]= ""
    15. $NewGuest[5]= ""
    16. $NewGuest[6]= ""
    Alles anzeigen
    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

    Quellcode

    1. _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:

    Quellcode

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


    4. Weitere Funktionen

    Quellcode

    1. * _CreateTable ;Erstellt eine Tabelle in der DB
    2. * _CreateColumn ;erstellt eine neue Tabelle in der DB
    3. * _DropCol ;Löscht eine Zeile aus der DB
    4. * _DropTbl ;Löscht eine Tabelle aus der DB
    5. * _CountRecords ; gibt die Nummer von Einträgen zurück, die einem bestimmten Wert entsprechen
    6. * _CountTables ;gibt die Anzahl der Tabellen aus, die in der DB enthalten sind
    7. * _GetColNames ;gibt ein Array zurück mit der Nummer der Spalten in einer Tabelle
    8. * _GetTblNames ;gibt ein Array mit der Nummer der ganzen Tabellen im ersten Element des Arrays und die Namen der Tabellen zurück
    9. * _GetColVals ;Gibt alle Einträge in einer Spalte der Tabelle zurück
    10. * _GetColCount ; Gibt die Anzahl der Spalten in einer Tabelle zurück
    11. * _GetColType ;gibt den Datentyp einer Spalte der Tabelle aus
    12. * _GetDBNames ;Gibt im ersten Arrayelement die Nummer der Datenbanken aus und alle ihre Namen im angegeben Server
    13. * _ChangeCon ;Wechselt die Verbindung um einen anderen Benutzernamen,Passwort,Host oder Datenbank zu nutzen
    Alles anzeigen


    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.
  • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

  • 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
  • sedas;93536 schrieb:

    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 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