Có cách nào để biết chính xác loại cột trong số DataTable
không? Ngay bây giờ tôi đang làm điều này:Cách lấy loại cột số chính xác bao gồm. quy mô và độ chính xác?
DataTable st = dataReader.GetSchemaTable();
foreach (DataColumn col in st.Columns)
{
var type = col.DataType;
}
Bây giờ với type.Name
Tôi có thể tìm thấy nếu nó là một con số (int
hay decimal
..) hoặc string
nhưng vấn đề là tôi cần những loại chính xác, ví dụ nếu trong cơ sở dữ liệu giả sử cột Rate
là NUMBER(4,3)
thì ở đây trong mã của tôi, tôi chỉ nhận được loại là 'Thập phân' và không có thông tin về Định dạng 4,3
.
Bây giờ, yêu cầu là tôi cần phải định dạng các giá trị theo loại của chúng cho ví dụ. nếu Rate=1.4
, nó sẽ được hiển thị là 0001.400
(theo Định dạng NUMBER(4,3)
). Do đó ở đây vì tôi không có thông tin tôi không thể xử lý các giá trị hơn nữa. Có cách nào để biết điều tương tự không?
Cảm ơn
http://msdn.microsoft.com/en-IN/library/system.data.datacolumn.datatype.aspx – Bharadwaj
loop Xuyên mỗi hàng aka DataRow và sử dụng getType phản chiếu của cá nhân .. –
Bạn cần xem xét các thuộc tính bổ sung trên cột để xác định chính xác. Ví dụ: xem các thuộc tính NumericPrecision và NumericScale http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getschematable%28v=vs.110%29.aspx – dmarietta