AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL Fehler

Ein Thema von Pseudemys Nelsoni · begonnen am 21. Okt 2004 · letzter Beitrag vom 21. Okt 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

MySQL Fehler

  Alt 21. Okt 2004, 12:00
hi, kann mir jemand diesen fehler erklären:

http://www.tiberian-sun.net/asdfghjkl.JPG

?

Ich sende folgendes:

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
begin
  Form1.c.HostName := Edit1.Text;
  Form1.c.Port := StrToInt(Edit2.Text);
  Form1.c.User := Edit3.Text;
  Form1.c.Password := Edit4.Text;
  Form1.q2.SQL.Clear;
  Form1.q2.SQL.Add('CREATE DATABASE ' + Edit7.Text + ';');
  Form1.q2.SQL.Add('USE ' + Edit7.Text + ';');
  Form1.q2.SQL.Add('CREATE TABLE ' + Edit5.Text + ';');
  Form1.q2.SQL.Add('CREATE TABLE ' + Edit6.Text + ';');
  Form1.q2.SQL.Add('CREATE TABLE ' + Edit7.Text + ';');
  Form1.q2.ExecSQL;
end;
ich wunder mich auch wieso es in der fehlermeldung nur buis "CREATE TABL" geht... ich hab doch mehr gesendet?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: MySQL Fehler

  Alt 21. Okt 2004, 12:11
Zitat von Pseudemys Nelsoni:
ich wunder mich auch wieso es in der fehlermeldung nur buis "CREATE TABL" geht... ich hab doch mehr gesendet?
Das kommt, weil MySQL dir nicht deine u.U. ellenlange Abfrage um die Ohren haut, sondern nur einen Ausschnitt.

Zum Problem: Hast du die Abfrage schonmal ausgebenlassen, statt sie zu senden?
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: MySQL Fehler

  Alt 21. Okt 2004, 12:21
moin,

was meinst du mit ausgeben lassen?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: MySQL Fehler

  Alt 21. Okt 2004, 12:24
Zitat von Pseudemys Nelsoni:
moin,

was meinst du mit ausgeben lassen?
ShowMessage(SQLText);

oder so

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#5

Re: MySQL Fehler

  Alt 21. Okt 2004, 12:26
Ähm, du solltest vielleicht auch angeben wie die Tabellen aussehen sollen die du mit CREATE TABLE erstellen willst????
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: MySQL Fehler

  Alt 21. Okt 2004, 12:31
Was du machen willst ist ein ganzes Skript an den Server schicken. Das klappt abe so nicht über Delphi. Stattdessen solltest du versuchen jede Anweisung einzeln an den Server zu schicken.
  Mit Zitat antworten Zitat
Benutzerbild von Mamphil
Mamphil

Registriert seit: 17. Jul 2004
Ort: Garching b. München
149 Beiträge
 
Delphi 7 Professional
 
#7

Re: MySQL Fehler

  Alt 21. Okt 2004, 13:12
Zitat von Jelly:
Was du machen willst ist ein ganzes Skript an den Server schicken. Das klappt abe so nicht über Delphi. Stattdessen solltest du versuchen jede Anweisung einzeln an den Server zu schicken.
Das klappt übrigens auch nicht aus anderen Programmiersprachen heraus....

Ich habe eine kleine Funktion geschrieben, die z. B. einen MySQL-Dump auseinandernimmt und die einzelnen Queries in einen Array schreibt:
Delphi-Quellcode:
// im Bereich interface :
// type
// TSingleSQL = array of AnsiString;
function DumpToSingleSQL(dump: AnsiString): TSingleSQL;
var
  sql: AnsiString;
  inString, currChar: Char;
  inComment, ignore: Boolean;
  numberSingleSQL, dumpLen, i: Integer;
  ergebnis: TSingleSQL;

begin
  // init vars:
  sql := '';
  inString := #0;
  inComment := false;
  ignore := false;
  numberSingleSQL := 0;

  dump := trim(dump);
  dumpLen := Length(dump);

  for i := 1 to dumpLen do
  begin
    currChar := Copy(dump, i, 1)[1];
    // if you are inside a comment
    if inComment then
    begin
      // do nothing until end of line
      if (currChar = #10) or (currChar = #13) then
        inComment := false;
      // but continue anyway
      Continue;
    end;
    // a comment begins with # -> do nothing
    if (currChar = '#') and (inString = #0) then
    begin
      inComment := true;
      Continue;
    end;
    // handle ignore
    if ignore then
      ignore := false
    else
    // ignore character after backslash (\)
    if currChar = '\then
      ignore := true
    else
    // a string begins ...
    if ((currChar = '''') or (currChar = '"'))
       and (inString = #0) then
      inString := currChar
    else
    // a string ends ...
    if (currChar = inString) and (inString <> #0) then
      inString := #0
    else
    // a query ends with ';' (which is not inside a string)
    if (currChar = ';') and (inString = #0) then
    begin
      sql := trim(sql);
      if sql <> 'then
      begin
        SetLength(Result, numberSingleSQL + 1);
        Result[numberSingleSQL] := sql;
        Inc(numberSingleSQL);
        sql := '';
      end;
      Continue;
    end;
    sql := sql + currChar;
  end;
  // if last query does not end with ';' it should not matter:
  sql := trim(sql);
  if sql <> 'then
  begin
    SetLength(Result, numberSingleSQL + 1);
    Result[numberSingleSQL] := sql;
  end;
end;
Da ich noch ein relativer Anfänger in Delphi bin, hoffe ich, keine schweren Fehler in die Funktion eingebaut zu haben ...

Mamphil
The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz