Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Usando SqlCommand , come aggiungere più parametri al suo oggetto, inserimento tramite winform nella tabella sql

Puoi utilizzare un metodo di estensione, come questo:

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

Quindi chiamalo così:

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

L'ho usato in alcuni progetti senza problemi.