Tôi có một System.Data.DataTable được điền bằng cách đọc tệp CSV đặt bộ dữ liệu của từng cột thành chuỗi.Thay đổi kiểu dữ liệu cột DataTable được điền sẵn
Tôi muốn nối thêm nội dung của DataTable vào bảng cơ sở dữ liệu hiện có - hiện tại việc này được thực hiện bằng cách sử dụng SqlBulkCopy với DataTable làm nguồn.
Tuy nhiên, các kiểu dữ liệu cột của DataTable cần phải được thay đổi để phù hợp với giản đồ của bảng cơ sở dữ liệu đích, xử lý giá trị null.
Tôi không quen thuộc với ADO.NET vì vậy đã tìm kiếm một cách làm sạch?
Cảm ơn.
Cảm ơn - Tôi nhận ra rằng tôi không thể thay đổi nó sau khi được điền. Những gì tôi đang tìm kiếm là một cách để tạo ra một DataTable thứ hai với các kiểu dữ liệu chính xác và sau đó nhập và chuyển đổi dữ liệu từ DataTable đầu tiên. Nó không thể cho DataTable đầu tiên sử dụng các kiểu dữ liệu khác ngoài String không may. – TonE
@TonE: Cách duy nhất tôi có thể nghĩ để làm điều đó là triển khai 'IDataReader' và sử dụng phương thức' DataTable.Load' - nhưng nếu bạn định làm điều đó, bạn cũng có thể sử dụng chính trình đọc cho 'SqlBulkCopy' thay vì tạo' DataTable' thứ hai. – Aaronaught
Đó là một gợi ý thú vị. Liệu nó có thể lấy được từ DataTableReader hay không và liệu bạn có biết cách nào tôi cần phải ghi đè để cung cấp chức năng thay đổi kiểu không? Chỉ cần cố gắng để đánh giá nếu nó là chính đáng cho các ràng buộc thời gian. – TonE