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

Kiểu dữ liệu bit thành ánh xạ kiểu enum từ cơ sở dữ liệu sang tập dữ liệu trong SQL Server 2008

Bạn có thể xử lý bằng 1 trong 2 cách.

1) Thay vì trả về dữ liệu dưới dạng một bit, hãy thực hiện truyền trong truy vấn của bạn để dữ liệu đó trả về Mua / Bán dưới dạng một chuỗi dựa trên giá trị. Điều này sẽ chỉ thực sự hoạt động tốt nếu lưới của bạn ở chế độ chỉ đọc. Nếu bạn cần có thể thêm / chỉnh sửa dữ liệu, sẽ rất lộn xộn khi chuyển đổi Mua / Bán của bạn thành một chút và buộc người dùng chỉ có thể nhập mua / bán. Bạn có thể muốn sử dụng phương pháp 2 nếu bạn cần thêm / chỉnh sửa dữ liệu.

ví dụ. giả sử tên cột của bạn được gọi là BuySell và thuộc loại bit

SELECT CASE WHEN BuySell = CAST(0 AS BIT) THEN 'Buy' ELSE 'Sell' AS BuySell FROM TableName

2) Bạn sẽ phải tắt "Autogeneratecolumns" trên DataGridView và thiết lập các cột của mình theo cách thủ công. Nếu lưới của bạn ở chế độ chỉ đọc, tôi sẽ thêm một cột văn bản cho cột mua / bán của bạn, cột này ánh xạ đến giá trị bit của bạn. Sau đó, trong sự kiện Cell_Formatting cho lưới, hãy cập nhật giá trị dựa trên bit. Một cái gì đó giống như bên dưới:

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (dgv.Columns[e.ColumnIndex].Name == "buysell")
    {
        if (e.Value != null)
        {
            if (e.Value.ToString() == "1")
            {
                e.Value = "Sell";
            }
            else
            {
                e.Value = "Buy";
            }
        }
        else
        {
            e.Value = "Buy";
        }
    }
}

Nếu lưới của bạn cần có thể chỉnh sửa, hãy thiết lập DataTable đại diện cho các giá trị Mua / Bán của bạn với một bộ nhớ hiển thị và bộ ghi giá trị. Liên kết đó làm nguồn dữ liệu cho cột hộp tổ hợp. Bây giờ, việc tải dữ liệu sẽ hiển thị chính xác Mua / Bán trong hộp kết hợp và đối với các hàng mới khi bạn chọn một giá trị từ menu thả xuống, nó sẽ điền vào nguồn dữ liệu cơ bản của bạn với giá trị bit chính xác.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để truy vấn và phân tích cú pháp phân cấp danh sách liền kề bằng cte?

  2. Làm cách nào để tạo một ràng buộc duy nhất của SQL dựa trên 2 cột?

  3. Cách hàm FORMAT () hoạt động trong SQL Server (T-SQL)

  4. Truy vấn SQL để kéo các giá trị trung bình cho dob khoảng cách 1 ngày của khách hàng

  5. Thực hiện Phân tích Sản phẩm bằng Tìm kiếm Toàn văn của Máy chủ SQL. Phần 1