Я использую следующий код для вызова хранимой процедуры для вставки данных в DataTable:
DataTable dt = new DataTable();
SqlConnection scConn = new SqlConnection("ConnectionString");
SqlDataAdapter sd = new SqlDataAdapter("Store_Procedure_Name", scConn);
sd.SelectCommand.CommandType = CommandType.StoredProcedure;
sd.Fill(dt);
Выполнение набора результатов через T-SQL выглядит следующим образом:
UserId is int , PurchaseDate is DateTime and Amount is Decimal(20,2)
| UserId | PurchaseDate | Amount
| 1 | 2019-10-31 00:00:57.617 | 35.00
В некоторых случаях, когда после вызова C # с помощью кода выше, я проверяю DataTable C #, данные отличаются.
| UserId | PurchaseDate | Amount
| 1 | 2019-10-31 00:00:57 SA | 35,00
Я проверил, что и мой SQL Server, и мой локальный компьютерный регион совпадают с США.
Код применяется в веб-приложении, я понятия не имею, какSA был добавлен к DataTable PurchaseDate, а также почему значение Amount от (точка). Станьте (запятая), я думаю, что это может быть проблема культуры, но я прошёл и машинный регион, и настройка культуры одинакова.
Хотите знать, сталкивался ли кто-то с такой же проблемой раньше?