Maison >développement back-end >C++ >Comment puis-je mettre à jour une table OLEDB en utilisant des paramètres de position au lieu de paramètres nommés ?

Comment puis-je mettre à jour une table OLEDB en utilisant des paramètres de position au lieu de paramètres nommés ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-25 08:58:17290parcourir

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

Mise à jour d'une table à l'aide des paramètres OLEDB

Cette question se concentre sur la mise à jour d'une table avec trois champs : LM_code, M_Name et Desc. Pendant que le LM_code est généré automatiquement, le M_Name et le Desc doivent être mis à jour à l'aide des paramètres OLEDB.

Énoncé du problème

Le code fourni tente de mettre à jour la table à l'aide d'un SQL direct. requête, mais les valeurs ne sont pas mises à jour. La question suggère que l'utilisation des paramètres OLEDB pourrait résoudre ce problème.

Solution

OLEDB ne prend pas en charge nativement les paramètres nommés. Cependant, il reconnaît l'intention et vous permet de transmettre les paramètres dans l'ordre. Pour l'utiliser, suivez ces étapes :

  1. Utilisez les paramètres de position : Au lieu de paramètres nommés, transmettez les valeurs dans l'ordre dans lequel elles sont définies dans l'instruction SQL.
  2. Créer une commande OLEDB : Établir une connexion et créer une commande OLEDB objet.
  3. Ajouter des paramètres dans l'ordre : Ajoutez des paramètres à l'objet de commande, en vous assurant que leur ordre correspond aux espaces réservés dans la requête SQL.
  4. Définir l'instruction SQL. : Attribuez l'instruction SQL avec des espaces réservés de position à la commande text.
  5. ExecuteNonQuery : Exécutez la commande pour mettre à jour la table.

Extrait de code :

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();
}

En suivant cette méthode, vous pouvez mettre à jour efficacement la table à l'aide des paramètres OLEDB, garantissant ainsi une propagation appropriée des valeurs et des mises à jour des champs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn