Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sử dụng SqlCommand, cách thêm nhiều tham số vào đối tượng của nó, chèn qua winform trong bảng sql

Bạn có thể sử dụng một phương pháp mở rộng, như sau:

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

Sau đó gọi nó như thế này:

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

Tôi đã sử dụng nó trong một vài dự án mà không gặp vấn đề gì.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xóa dấu ngoặc kép được thêm vào tên cột từ Excel nhập SQL Server 2008

  2. Phạm vi ngày nằm giữa hai ngày trong truy vấn LINQ

  3. Làm cách nào để CHỌN nhiều cột trong CASE WHEN trên SQL Server?

  4. Biểu diễn của DateTime tính bằng mili giây?

  5. Điều gì đang chặn Chọn top 1 * từ TableName với (nolock) trả về kết quả?