Einzelnen Beitrag anzeigen

dust258

Registriert seit: 18. Aug 2008
62 Beiträge
 
#6

AW: INSERT kann mit einem Open ausgeführt werden?

  Alt 19. Jan 2011, 15:10
@taveuni: Ja, macht keinen Unterschied

Hab ich mir fast gedacht. Views kommen für mich leider nicht in Frage, da die Datenstruktur fehlt. Also werde ich wohl vor dem Open parsen.
@DeddyH: Die Idee ist super, nur leider sind in meinem Fall auch mehrere SQL-Befehle hintereinander möglich, daher werde ich wohl nach "verbotenen" Wörtern suchen. Hier meine Lösung:

Delphi-Quellcode:
function TListStatSchnittForm.SucheManipulativeAbfragen(inSSQLText: String): Boolean;
var
  lSSQLxStrings : String;
  lBInString : Boolean;
  i : integer;
begin
  Result := false;

  //Schlüsselwörter in Strings werden ignoriert
  lBInString := false;
  for I := 0 to Length(inSSQLText) - 1 do
  begin
    if (inSSQLText[i] = '"') then
      lBInString := not lBInString;
    if not lBInString then
      lSSQLxStrings := lSSQLxStrings + inSSQLText[i];
  end;

  if (pos('INSERT', Uppercase(lSSQLxStrings)) > 0) or
     (pos('UPDATE', Uppercase(lSSQLxStrings)) > 0) or
     (pos('DROP', Uppercase(lSSQLxStrings)) > 0) or
     (pos('CREATE', Uppercase(lSSQLxStrings)) > 0) or
     (pos('ALTER', Uppercase(lSSQLxStrings)) > 0) or
     (pos('DELETE', Uppercase(lSSQLxStrings)) > 0)
  then
  Result := true;
end;
Edit: Danke für die Hilfe ^^
  Mit Zitat antworten Zitat