Heim >Backend-Entwicklung >C++ >Wie kann ich eine OLEDB-Tabelle mithilfe von Positionsparametern anstelle benannter Parameter aktualisieren?

Wie kann ich eine OLEDB-Tabelle mithilfe von Positionsparametern anstelle benannter Parameter aktualisieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-25 08:58:17290Durchsuche

How Can I Update an OLEDB Table Using Positional Parameters Instead of Named Parameters?

Aktualisieren einer Tabelle mithilfe von OLEDB-Parametern

Diese Frage konzentriert sich auf die Aktualisierung einer Tabelle mit drei Feldern: LM_code, M_Name und Desc. Während der LM_code automatisch generiert wird, müssen M_Name und Desc mithilfe von OLEDB-Parametern aktualisiert werden.

Problembeschreibung

Der bereitgestellte Code versucht, die Tabelle mithilfe einer direkten SQL zu aktualisieren Abfrage, aber die Werte werden nicht aktualisiert. Die Frage legt nahe, dass die Verwendung von OLEDB-Parametern dieses Problem lösen könnte.

Lösung

OLEDB unterstützt benannte Parameter nicht nativ. Es erkennt jedoch die Absicht und ermöglicht Ihnen, Parameter der Reihe nach zu übergeben. Um dies zu nutzen, befolgen Sie diese Schritte:

  1. Positionsparameter verwenden: Übergeben Sie anstelle benannter Parameter die Werte in der Reihenfolge, in der sie in der SQL-Anweisung definiert sind.
  2. OLEDB-Befehl erstellen: Stellen Sie eine Verbindung her und erstellen Sie einen OLEDB-Befehl Objekt.
  3. Parameter in der Reihenfolge hinzufügen: Parameter zum Befehlsobjekt hinzufügen und sicherstellen, dass ihre Reihenfolge den Platzhaltern in der SQL-Abfrage entspricht.
  4. SQL-Anweisung festlegen : Weisen Sie dem Befehl die SQL-Anweisung mit Positionsplatzhaltern zu Text.
  5. ExecuteNonQuery:Führen Sie den Befehl aus, um die Tabelle zu aktualisieren.

Codeausschnitt:

using (OleDbConnection conn = new OleDbConnection(connString))
{
    conn.Open();
    OleDbCommand cmd = conn.CreateCommand();

    cmd.Parameters.Add(new OleDbParameter("@MName", M_Name));
    cmd.Parameters.Add(new OleDbParameter("@Desc", Desc));
    cmd.Parameters.Add(new OleDbParameter("@LMCode", LM_code));

    cmd.CommandText = "Update Master_Accounts SET M_Name = @MName, Desc = @Desc WHERE LM_code = @LMCode";
    cmd.ExecuteNonQuery();
}

Wenn Sie dieser Methode folgen, können Sie die Tabelle mithilfe von OLEDB-Parametern effektiv aktualisieren und so eine ordnungsgemäße Werteweitergabe und Felder sicherstellen Updates.

Das obige ist der detaillierte Inhalt vonWie kann ich eine OLEDB-Tabelle mithilfe von Positionsparametern anstelle benannter Parameter aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn