MySQL (Argument type mismatch)

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
  • Ich kenn mich mit MySQL von Pawn noch nicht so gut aus ^^
    Nach dem MySQL Tutorial von Maddin ging auch alles, aber es gibt ein Fehler, wo kein Fehler sein sollte?



    SQL
    error 035: argument type mismatch (argument 4)error 035: argument type mismatch (argument 4)



    Die 2 Error-Zeilen sind mit // Markiert:


    public LoadTank()
    {


    new xyz;
    while (xyz < sizeof(TankInfo))
    {
    TankInfo[xyz][Tanke] = mysql_GetInt("tankstellen", "Name", "id", xyz); // Tanke Name
    TankInfo[xyz][Liter] = mysql_GetInt("tankstellen", "Liter", "id", xyz); // Tanke restliche Liter
    printf("Tankstelle %s wurde mit %.1f Liter geladen.",TankInfo[xyz][Tanke],TankInfo[xyz][Liter]);
    xyz++;
    }
    }


    Der Fehler sollte bei mysql_GetInt sein: Genau bei xyz.
    Aber es sollte eigentlich alles richtig sein.
    Hat jemand ne ahnung davon?
    Oder kann man MySQL nicht mit while auslesen.

  • Da du ja einmal einen string und einmal einen float wert benutzt, musst du auch getstring bzw getfloat verwenden anstatt getint.
    TankInfo[xyz][Tanke] = mysql_GetString("tankstellen", "Name", "id", xyz); // Tanke Name
    TankInfo[xyz][Liter] = mysql_GetFloat("tankstellen", "Liter", "id", xyz); // Tanke restliche Liter

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Mit GetFloat und GetString habe ich es auch schon probiert.
    Die Fehler bleiben gleich, nur das beim Auslesen des Namens zusätzlich folgender Error auftaucht:


    SQL
    error 047: array sizes do not match, or destination array is too small
  • enum tInfo
    {
    Tanke[64],
    Float:Liter,
    };


    new TankInfo[22][tInfo];



    Das mit strmid etc bei Namen hab ich noch nicht getestet,
    da es beim Float ja auch auftritt und evt nicht daran liegen könnte.


    Mit dem Enum haben die anderen Tankstellen (DINI) auch Funktioniert.