Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando SqlCommand, como adicionar vários parâmetros ao seu objeto, inserção via winform na tabela sql


Você pode usar um método de extensão, como este:
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);
        }
    }
}

Então chame assim:
cmd.AddInputParameters(new { a = textBox1.Text, b = TextBox2.Text, /* etc */ });

Eu usei isso em alguns projetos sem problemas.