Thema: Delphi SQL LogIn

Einzelnen Beitrag anzeigen

MaToBe

Registriert seit: 2. Aug 2008
162 Beiträge
 
#16

Re: SQL LogIn

  Alt 9. Jun 2009, 17:46
muss mich hier doch noch mal melden.

Problem: Etwa nur jedes 3te mal beim Verbinden zur SQL Datenbank per Button kommt die Nachricht "Verbindung erfolgreich" und selbst dann bin ich mir nicht sicher ob es geklappt hat.

Denn auch bei "Verbindung erfolgreich" klappt das Insert nicht.

Delphi-Quellcode:
var
      SQLServer : PAnsiChar;
      SQLBenutzer : PAnsiChar;
      SQLPasswort : PAnsiChar;
      SQLDatenbank : PAnsiChar;

...
    SQLServer := PAnsiChar(AnsiString(edtServernameSQL.Text));
    SQLBenutzer := PAnsiChar(AnsiString(edtBenutzernameSQL.Text));
    SQLPasswort := PAnsiChar(AnsiString(edtPasswortSQL.Text));
    SQLDatenbank := PAnsiChar(AnsiString(edtDatenbankSQL.Text));
...


procedure TfrmSQL.SqlVerbindungON;
begin
  mySqlConnect := mysql_init(nil);
  if mySqlConnect = nil then
  begin
    ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
    Exit;
  end;


  if mysql_real_connect(mySqlConnect, SQLServer, SQLBenutzer, SQLPasswort, SQLDatenbank, 3306, nil, 0) = nil then
  begin
    ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(mySqlConnect));
    Exit;
  end;

  ShowMessage('Verbindung hergestellt');

end;

procedure TfrmSQL.SqlVerbindungOFF;
begin
    mysql_close(mySqlConnect);
end;

//Insert Procedure
procedure TfrmSQL.SqlInsert(Tabelle : string; Daten : string);
var query : PChar;
begin
  query := PChar('INSERT INTO ' + Tabelle + ' VALUES ' + Daten);
  mysql_real_query(mySqlConnect, PAnsiChar(AnsiString(query)), Length(query));
end;

//Aufruf der Insert Procedure
procedure TfrmMain.Button1Click(Sender: TObject);
begin
    frmSQL.SqlVerbindungON;
    try
                                      //soll >> ('','Hallo') << darstellen
      frmSQL.SqlInsert('ausfaelle', '(' + #39 + '' + #39 + ',' + #39 + 'Hallo' + #39 + ')');
    finally
      frmSQL.SqlVerbindungOFF;
    end;
end;
Wäre super wenn jemand rausfinden könnte, warum nur bei durschnittlich jedem 3ten Verbindungsauftrag dieser auch gelingt.
  Mit Zitat antworten Zitat