首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SqlCommand参数替换

SqlCommand参数替换
EN

Stack Overflow用户
提问于 2013-07-29 11:12:45
回答 2查看 1.3K关注 0票数 1

我试着在Replace上签",“和”。“在UPDATE参数上,但是我无法解决它。此参数从textBoxes更新SQL DB中的数值类型。

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

代码语言:javascript
复制
 prikaz.Parameters.AddWithValue("@poc_kli", poc_kli.Text).Replace(',', '.');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-29 11:14:12

首先解析值,然后在参数中使用类型的数据。例如:

代码语言:javascript
复制
decimal val = decimal.Parse(poc_kli.Text);
prikaz.Parameters.AddWithValue("poc_kli", val);

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

代码语言:javascript
复制
CultureInfo culture = CultureInfo.InvariantCulture;
// ^^^ or GetCulture, CurrentCulture, etc
decimal val = decimal.Parse(poc_kli.Text, culture);

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

代码语言:javascript
复制
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和数据库的代码(这些代码完全不相关,或者应该是),这一事实应该引起您的关注。

票数 4
EN

Stack Overflow用户

发布于 2013-07-29 11:13:59

您正在代码中的错误位置替换。尝试:

代码语言:javascript
复制
prikaz.Parameters.AddWithValue("@poc_kli", poc_kli.Text.Replace(',', '.'));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17922551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档