Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisation de SqlCommand, comment ajouter plusieurs paramètres à son objet, insertion via winform dans la table sql

Vous pouvez utiliser une méthode d'extension, comme celle-ci :

public static class DbCommandExtensions
{
    public static void AddInputParameters<T>(this IDbCommand cmd,
        T parameters) where T : class
    {
        foreach (var prop in parameters.GetType().GetProperties())
        {
            object val = prop.GetValue(parameters, null);
            var p = cmd.CreateParameter();
            p.ParameterName = prop.Name;
            p.Value = val ?? DBNull.Value;
            cmd.Parameters.Add(p);
        }
    }
}

Alors appelez-le comme ceci :

cmd.AddInputParameters(new { a = textBox1.Text, b = TextBox2.Text, /* etc */ });

Je l'ai utilisé dans quelques projets sans problème.