Announcement

Collapse
No announcement yet.

InsertCommand.CommandText mit Parametern ausgeben

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

  • InsertCommand.CommandText mit Parametern ausgeben

    Hallo zusammen,

    ich möchte gerne den SQL String der ausgeführt wird ausgeben. Also nicht das Ergebnis sondern wirklich der String der ausgeführt wird mit den Parametern.

    Beispiel
    Code:
    ComSchule.InsertCommand.CommandText = "INSERT INTO Tabelle1"
    ComSchule.InsertCommand.CommandText += "(Testname, Straße, Ort) "
    ComSchule.InsertCommand.CommandText += "VALUES (@Testname, @Straße, @Ort)"
    
    ComSchule.InsertCommand.Parameters.AddWithValue("@Testname", Testname.Text)
    ComSchule.InsertCommand.Parameters.AddWithValue("@Straße", TxtStraße.Text)
    Mein Problem ich bekomme nie den String MIT den Parameters ausgegeben...

    Wäre super, wenn mir jemand dazu helfen kann.

  • #2
    Wenn es dir um eigenen " SQL-Profiler" geht, dann schau mal bitte in die Richtung

    Microsoft.SqlServer.Management.Trace;
    Microsoft.SqlServer.Management.Common;
    Zuletzt editiert von vadym voytas; 10.02.2011, 15:26.
    Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

    Comment


    • #3
      hallo,
      wo kommt jetzt da der SQL String? Ist das nicht das gleiche Problem noch dass man den "fertigen" String nicht sieht?

      Mir wäre nur bekannt dass man haltepunkte setzt und in die Variablen der Zuweisung schaut was rein geschrieben wird.

      Comment


      • #4
        Das gute an parametrisierten Abfragen ist ja das direkt im SQL-Statement nicht die parameter stecken. Es geschieht ungefähr folgendes

        1, PrepareStatement: "INSERT .... VALUES(?, ?, ?) -> Server gibt PrepareID zurück
        2, ExecutePreparedStatement: PrepareId, ParamValue1, ParamValue2, ...
        3, UnprepareSstatemetn PrepareID

        Wenn du den MS SQL Server hast kannst du das einfach durch den Tracer begutachten was so abläuft.

        Comment


        • #5
          Ich denke er möchte sich letztlich einfach nur irgendwo das FERTIGE SQL Kommando anschauen. Also nicht das Template mit den Variablen drin, sondern das was wirklich an den Server geschickt wird. Sozusagem nach dem Binding der Parameter an das SQL Template.

          Comment


          • #6
            Der SQL-String wird aber nicht die parameterwerte Enthalten. Würde das auf Client-Seite so zusammengebaut wäre ja ein teil der Vorteile von parametrisierten Abfragen dahin. Dann könnte man gleich mit String.format(...) arbeiten.

            Comment


            • #7
              Ich denke es geht einfach darum wirklich zu sehen welche Kommandos denn wirklich an die Datenbank geschickt werden. Evtl. hat ja auch die Connection ein Event welches gefeuert wird, wenn ein Kommando zur DB geschickt wird.

              Comment

              Working...
              X