Re: DBParameter vs. direkter Angabe im SQL-Statement

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Hallo Paul,

in allen gängigen Beispielen zu ADO.NET sieht man immer Code der Art

cmd.CommandText = "INSERT INTO namen ( name ) VALUES ( @name )
cmd.Parameters.Add ( "@name", "Müller" );


Erhält man durch die Verwendung der Parameter-Klasse eigentlich einen
Vorteil gegenüber der direkten Formulierung als SQL-Anweisung, also z.B.

INSERT INTO namen ( name ) VALUES ( "Müller" )

Gegenüber

INSERT INTO namen ( name ) VALUES ( "Müller" )

nicht unbedingt, das dürfte aber auch selten der Fall sein. Anders bei

public void InsertName(string name)
{
// ...
cmd.CommandText = "INSERT INTO namen ( name ) VALUES ( " + name +
" )";
//...
}

Das ist eine potenzielle Angriffststelle für SQL Injections. Mit
parametrisierten Abfragen brauchst Du Dir über das Thema SQL
Injections keine Gedanken zu machen.

Weiterer Vorteil: Du musst Dir bei keinem Datentypen Gedanken machen,
wie er zu formatieren ist. Ob String, ob Guid, ob Datum - ganz egal -
Du übergibst einfach den .NET Datentypen und er wird automatisch ins
richtige Format gebracht.

--
MfG,
Daniel Kuppitz

.



Relevant Pages

  • Re: DBParameter vs. direkter Angabe im SQL-Statement
    ... Das ist eine potenzielle Angriffststelle für SQL Injections. ... Injections keine Gedanken zu machen. ... In der Tat, das ist richtig. ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)
  • Re: Timeout Problem
    ... Das mit den Datentypen ist klar und geb ich dir auch vollkommen recht. ... Wobei ich Dir einen Besuch der SQL SErver Gruppe ans Herz legen möchte: ... ghfzaufb_lfdnr from ghfzaufb where ghfzaufb_id not ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Eigenschaft "Size" bei ADODB.Parameter-Objekt
    ... im Falle von adParamInputOutput kann der Parameter ... SQL Server eigentlich keine reinen Ausgabe- ... Die Grössenangabe muss bei Datentypen die als FieldAttribute adFldFixed ...
    (microsoft.public.de.vb.datenbank)
  • Re: TDBC documentation, examples, syntax?
    ... you are vulnerable to SQL injections.. ... So, as a conclusion, variable substitution is not a technique to avoid ... the quoting rules vary quite a bit or are just ...
    (comp.lang.tcl)
  • Re: [Full-disclosure] HackersBlog: WhiteHat Scum
    ... Takes a real genius to Google query your way into SQL injections.. ...
    (Full-Disclosure)