Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwenden von SqlCommand zum Hinzufügen mehrerer Parameter zu seinem Objekt, Einfügen über Winform in eine SQL-Tabelle

Sie können eine Erweiterungsmethode wie diese verwenden:

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

Dann nennen Sie es so:

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

Ich habe das in einigen Projekten ohne Probleme verwendet.