SQLite kleines Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,
    ich habe mich entschlossen mit SQLite nun zu Arbeiten.
    Leider wird aber in meiner Datenbank keine einträge eingetragen wie Name und co.
    Zeige am besten mal die stock's.



    stock Register(playerid, key[])
    {
    new query[256];
    format(query, 256, "INSERT INTO `Accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')",SpielerName(playerid), MD5_Hash(key));
    db_query(ADatenbank, query);
    SetPVarInt(playerid, "Spielt", 1);
    return 1;
    }
    stock Login(playerid, key[])
    {
    new DBResult:Result,str[75],rows;
    #pragma unused rows
    format(str,sizeof(str),"SELECT * FROM `Accounts` WHERE Name = '%s' AND Passwort='%s'", SpielerName(playerid),MD5_Hash(key));
    Result=db_query(ADatenbank,str);
    if(db_num_rows(Result) > 0) {
    SpielerLaden(playerid);
    return 1;
    }
    else {
    SendClientMessage(playerid, FARBE_WEISS, "[{FF0000}FEHLER{FFFFFF}]: Das angebene Passwort ist nicht Korrekt!!");
    ShowPlayerDialog(playerid, DIALOG_EINLOGGEN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Einloggen","{FFFFFF}Herzlich Willkommen zurück.\nEs gibt bereits ein Spielcharakter mit diesen Namen.\nFalls es nicht du bist Verlasse bitte den Server und wähle ein anderen Namen!\n\nBitte Logge dich nun mit deinem Passwort ein.","Spielen","Verlassen");
    }
    return 1;
    }


    stock SpielerSpeichern(playerid) {
    if(GetPVarInt(playerid,"Spielt")==1) {
    new query[500];
    format(query, sizeof(query), "UPDATE `Accounts` SET `Level`='%i', `Bargeld`='%i', `Geschlecht`='%i', `Alter`='%i', `Skin`='%i', `Adminrang`='%i' WHERE `Name` = '%s'", GetPlayerScore(playerid), GetPlayerMoney(playerid), sInfo[playerid][sGeschlecht], sInfo[playerid][sAlter], sInfo[playerid][sSkin], sInfo[playerid][sAdminrang], SpielerName(playerid));
    db_query(ADatenbank,query);
    format(query, sizeof(query), "UPDATE `Accounts` SET `Ban`='%i', `Warn`='%i', `Konto`='%i', `Perso`='%i', `Kontopin`='%i', `Kontogeld`='%i' WHERE `Name` = '%s'", sInfo[playerid][sBan], sInfo[playerid][sWarn], sInfo[playerid][sKonto], sInfo[playerid][sPerso], sInfo[playerid][sKontoPin], sInfo[playerid][sKontoGeld], SpielerName(playerid));
    db_query(ADatenbank,query);
    format(query, sizeof(query), "UPDATE `Accounts` SET `Mute`='%i', `Handy`='%i', `HandyNummer`='%i', `HandyKarte`='%i', `Fraktion`='%i', `FraktionsRang`='%i' WHERE `Name` = '%s'", sInfo[playerid][sMute], sInfo[playerid][sHandy], sInfo[playerid][sHandyNummer], sInfo[playerid][sHandyKarte], sInfo[playerid][sFraktion], sInfo[playerid][sFraktionRang], SpielerName(playerid));
    db_query(ADatenbank,query);
    format(query, sizeof(query), "UPDATE `Accounts` SET `Spawn`='%i', `Fraktionsgehalt`='%i', `Wanted`='%i', `ExpPunkte`='%i', `Payday`='%i' WHERE `Name` = '%s'", sInfo[playerid][sSpawn], sInfo[playerid][sFraktionGehalt], sInfo[playerid][sWanted], sInfo[playerid][sExpPunkte], sInfo[playerid][sPayDay], SpielerName(playerid));
    db_query(ADatenbank,query);
    }
    return 1;
    }


    MfG. Black_Air :thumbup:


    Jeffry: Du vielleicht eine Idee? :D

    Mit freundlichen Grüßen, BlvckAir :thumbup:

    Einmal editiert, zuletzt von BlvckAir ()

  • Goldkiller:
    Beim stock Register habe ich die Query mal printen lassen.
    Dabei kommt dies raus: Register-Query: INSERT INTO `Accounts` (`Name`, `Passwort`) VALUES ('Black_Air', 'Test')
    Und beim Speichern: Speichern-Query: UPDATE `Accounts` SET `Spawn`='0', `Fraktionsgehalt`='0', `Wanted`='0', `ExpPunkte`='0', `Payday`='0' WHERE `Name` = 'Black_Air'


    Ist ja soweit richtig, es setzt soweit alles auf 0, aber die Tabele bleibt Leer. Kein Eintrag in der Datenbank bzw Tabele.


    MfG. Black_Air :thumbup:



    Hier mal der stock wo die Tabele erstellt werden soll/sollte.



    stock CreateTables()
    {
    new tmp1[500], tmp2[500], query[10000];
    format(tmp1, sizeof(tmp1), "CREATE TABLE IF NOT EXISTS `Accounts`(`Name` VARCHAR(24) COLLATE NOCASE, `Adminrang` INTEGER DEFAULT 0 NOT NULL, `Passwort` VARCHAR(24) COLLATE NOCASE, `Bargeld` INTEGER DEFAULT 0 NOT NULL, `Geschlecht` INTEGER DEFAULT 0 NOT NULL");
    format(tmp2, sizeof(tmp2), ",`Level` INTEGER DEFAULT 0 NOT NULL, `Alter` INTEGER DEFAULT 0 NOT NULL, `Skin` INTEGER DEFAULT 0 NOT NULL, `Fraktion` INTEGER DEFAULT 0 NOT NULL, `FraktionsRang` INTEGER DEFAULT 0 NOT NULL, `Ban` INTEGER DEFAULT 0 NOT NULL)");
    format(query, sizeof(query), "%s%s", tmp1, tmp2);
    db_query(ADatenbank, query);
    format(tmp1, sizeof(tmp1), "CREATE TABLE IF NOT EXISTS `Accounts`(`Warns` INTEGER DEFAULT 0 NOT NULL, `Konto` INTEGER DEFAULT 0 NOT NULL, `Perso` INTEGER DEFAULT 0 NOT NULL, `Kontopin` INTEGER DEFAULT 0 NOT NULL, `KontoGeld` INTEGER DEFAULT 0 NOT NULL");
    format(tmp2, sizeof(tmp2), ",`Mute` INTEGER DEFAULT 0 NOT NULL, `Handy` INTEGER DEFAULT 0 NOT NULL, `HandyNummer` INTEGER DEFAULT 0 NOT NULL, `Handykarte` INTEGER DEFAULT 0 NOT NULL, `Spawn` INTEGER DEFAULT 0 NOT NULL, `Fraktionsgehalt` INTEGER DEFAULT 0 NOT NULL)");
    format(query, sizeof(query), "%s%s", tmp1, tmp2);
    db_query(ADatenbank, query);
    format(tmp1, sizeof(tmp1), "CREATE TABLE IF NOT EXISTS `Accounts`(`Wanted` INTEGER DEFAULT 0 NOT NULL, `ExpPunkte` INTEGER DEFAULT 0 NOT NULL, `Payday` INTEGER DEFAULT 0 NOT NULL, `Kontopin` INTEGER DEFAULT 0 NOT NULL, `KontoGeld` INTEGER DEFAULT 0 NOT NULL)");
    db_query(ADatenbank, tmp1);
    return 1;
    }

    Mit freundlichen Grüßen, BlvckAir :thumbup:

  • Ich würde mal sagen, das was Fehler bei Create Table.


    Am besten du erstellst die Tabellen und lässt dir dann ausgeben, wie sie erstellt werden.
    Wenn ich mich richtig erinnere kann SQLite kein "IF NOT EXISTS".


    SQLite und MYSQL unterscheiden sich doch sehr

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski