Announcement

Collapse
No announcement yet.

Vraiable SQL Abfragen in Delphi

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vraiable SQL Abfragen in Delphi

    SQL Abfragen sehen ja normalerweise so aus:
    SELECT * FROM kunden.db WHERE nachname = 'heruth'

    Ich hätte gern mal nach dem einen oder anderen gesucht, indem ich diesen Namen oder das Datum in einem edit1.text oder DateTimePicker1.date eingebe.

    SELECT * FROM kunden.db WHERE nachname = edit1.text

    oder Ähnliches geht leider nicht.

  • #2
    Nein, so geht es echt nicht. Du mußt schon die SQL Seite von der Delphiseite trennen. Wenn Du so was machen willst, dann baue Dir am besten in Delphi den SQL-String zusammen und fordere die gewünschten Daten vom Server an. Z.B. so:
    <PRE>
    DataSet.close;
    DataSet.SelectSQl.Text := 'SELECT * FROM kunden.db WHERE nachname = '+ edit1.text;
    DataSet.Open;
    </PRE&gt

    Comment


    • #3
      m.E gehört vor und hinter edit1.text noch ein ' (so wie bei 'heruth').

      Grüße Joche

      Comment


      • #4
        Hallo Karsten,

        normaler Weise verwendet man bei SQL dafür Parameter.

        z.B. "SELECT * FROM kunden.db WHERE nachname = :NName"

        In Delphi weist Du dann diesem Parameter z.B. mit <b>Query1.ParamByName('NName').AsString := edit1.Text;</b> den Wert zu. Der Vorteil im Vergleich zu einem dynamisch erzeugten SQL-Statement liegt darin, das für das SQL-Statement nicht jedes mal neu ein Prepare (das kostet Zeit) durchgeführt werden muß.

        Gruß

        Torste

        Comment


        • #5
          Hallo,

          man könnte es auch so mach:<br>
          <br>
          ' SELECT * FROM kunden.db WHERE nachname = ' + #39 + trim(edit1.text) + #39 + ';<br>
          <br>
          Gruss, Ola

          Comment


          • #6
            dafür bietet Delphi extra ein Funktion (QuotedStr)

            Comment

            Working...
            X