我正在使用带有Windows任务计划程序的基本控制台应用程序。
该程序从网络中获取一些十进制值并保存在SQL Server表中。
当我手动运行程序时,十进制格式没有问题。
如果任务调度程序运行程序,它会将它们(我在这里猜测(读取为 int。
例:
- 当我运行程序时:3.7658 => 3.7658
- Windows 任务计划程序:3.7654 => 37658
我尝试将其转换为字符串,将","替换为"."。
decimal valueKur = 0;
valueKur = Convert.ToDecimal(xmlDoc.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/BanknoteSelling", item)).InnerXml);
mevcutKur.KurValue = valueKur;
db.SaveChanges();
提前致谢
听起来您已经使用字符串串联来更新数据库中的数据。基本上:永远不要那样做。如果使用 SQL 参数(SET whatever=@whatever
等(,则数据库不需要执行任何字符串解析,也不会有混淆 - 尤其是在 i18n/l10n 问题上,例如逗号/句点是组分隔符还是小数点。同样,将其存储为数据库中的十进制类型(不是字符串/字符/等类型(,将其读出为十进制类型等。
当您将事物视为文本时,一切都取决于您的区域设置 - 调度程序的区域设置不一定是您想到的区域设置。