Was ist die Verwendung von Command Builder in Asp.net?

2 Antworten


  • Der Befehlsgenerator generiert Befehle zum Einfügen/Aktualisieren/Löschen für den Datenadapter basierend auf dem Auswahlbefehl. Die automatische Erstellung von Befehlen zum Einfügen/Aktualisieren/Löschen beeinträchtigt die Leistung. Falls wir den Inhalt von insert/update/delete kennen, sollten wir diesen explizit erstellen. Viel besser ist es, explizit gespeicherte Prozeduren zum Einfügen/Aktualisieren/Löschen zu erstellen und diese zuzuweisen. Store-Verfahren sind viel besser und sicherer als diese.

    Der Befehlsgenerator verwendet die select-Befehlseigenschaft des Datenadapters, um Werte für andere Befehle zu bestimmen. Wenn sich der select-Befehl des Datenadapters ändert, denken Sie daran, das Refresh-Schema aufzurufen, um die Befehlseigenschaften zu aktualisieren. Beachten Sie hier, dass der Befehlsgenerator nur dann einen Befehl für die Befehlseigenschaft des Datenadapters generiert, wenn die Befehlseigenschaft null ist. Wenn sie nicht null ist, wird er nicht ausgeführt.

    Standardmäßig sind die Befehlseigenschaften für Datenadapter null, daher müssen wir bei jeder Verwendung darauf achten. Wenn Sie eine Befehlseigenschaft explizit festlegen, überschreibt der Befehlsgenerator sie nicht. Sie müssen die Befehlseigenschaft auf null setzen, damit der Befehlsgenerator einen Befehl für die Befehlseigenschaft generieren kann. Eine andere Sache hier ist, dass Command Builder gut zu verwenden ist und empfohlen wird, wenn die Tabellen einfach sind, aber wenn wir über komplexe Select-Anweisungen sprechen, sollten wir mehr Parameter und neue Befehle für jede der Befehlseigenschaften im Datenadapter angeben.
  • Override public void PostUserWallFromId(int id, int code, string post)
        {
      string statement = @"
    INSERT INTO [UsersPost] ([SentId], [ToId], [Post], [Date])
    VALUES (@sentid, @toid, @nach Datum)";
      using (con = new SqlConnection(connStr))
      {
      SqlCommand cmd = new SqlCommand(statement, con);

      cmd.Parameters.AddWithValue("sentid", "2");
      cmd.Parameters.AddWithValue("toid", "3");
      cmd.Parameters.AddWithValue("post", post);
      cmd.Parameters.AddWithValue("date", DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day. ToString());
      con.Open();
      cmd.ExecuteNonQuery();
      }
        }

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear