Я использую SqlDataAdapter для заполнения DataSet из таблицы SQLServer. Все столбцы заполнены правильно, кроме столбца «Транзакция», который является десятичным типом в базе данных. Все эти значения становятся 0.0.
код:
using (SqlConnection dbconn = new SqlConnection (connection_string)) {
SqlDataAdapter adapter = new SqlDataAdapter (query, dbconn);
exposureSequence = new DataSet ();
adapter.Fill (exposureSequence, "ExposureSequence");
}
Этот код
foreach(DataRow r in exposureSequence.Tables["ExposureSequence"].Rows){
Console.WriteLine(r["TransactionAmount"] + ", ");
}
печать
0.0000,
0.0000,
0.0000,
...
Но если я сделаю это:
using (IDataReader reader = dbcmd.ExecuteReader()) {
while(reader.Read()){
//int ActionClientID = (int) reader["ActionClientID"];
Decimal TransactionAmount = (Decimal) reader["TransactionAmount"];
Console.WriteLine(TransactionAmount);
}
Мой вывод:
164.4950
164.4950
164.4950
...
Почему адаптер. Заполните, установив значения TransactionAmount в 0,000?