gpt4 book ai didi

c# - SqlCommand参数替换

转载 作者:太空宇宙 更新时间:2023-11-03 19:14:40 25 4
gpt4 key购买 nike

我尝试用“.”替换符号“,”在 UPDATE 参数上,但我无法解决它。此参数从 SQL DB 中的 textBoxes 更新数字类型。

我以为我可以做这样的事情,但是parameter 不包含definiton Replace。有什么办法吗?

 prikaz.Parameters.AddWithValue("@poc_kli", poc_kli.Text).Replace(',', '.');

最佳答案

先解析值;然后在参数中使用typed 数据。例如:

decimal val = decimal.Parse(poc_kli.Text);
prikaz.Parameters.AddWithValue("poc_kli", val);

解析值时,您应该使用适当的 CultureInfo(如果它与默认文化不同)而不是“替换”。为简单起见,我假设您实际上不需要指定区域性,但这只是让 SQL Server 满意的尝试。但例如:

CultureInfo culture = CultureInfo.InvariantCulture;
// ^^^ or GetCulture, CurrentCulture, etc
decimal val = decimal.Parse(poc_kli.Text, culture);

更好的做法是将数据访问代码与 UI 代码完全分开:

decimal val = decimal.Parse(poc_kli.Text);
SomeDatabaseMethod(val, ...other args);

...

public void SomeDatabaseMethod(decimal pocKli, ... other parameters ...)
{
...
prikaz.Parameters.AddWithValue("poc_kli", pocKli);
...
}

事实上,您有一行代码同时涉及 UI 和数据库(它们完全不相关,或者应该是),这应该让您担心。

关于c# - SqlCommand参数替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com