首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Insert into数据库中将空字符串设置为null

在Insert into数据库中将空字符串设置为null
EN

Stack Overflow用户
提问于 2014-02-07 22:59:12
回答 2查看 16.2K关注 0票数 3

我一直没能找到这个问题的正确解决方案,我知道这很简单,但我忘了怎么做了。我有一个表单,其中有一个文本字段,用户不需要填写它。我想在数据库中插入NULL,而不是它当前正在做的0。不过,我不确定我错过了什么。文本框被命名为taxRateTxt,我当前拥有的文本框不适用于我:

代码语言:javascript
复制
try
{
    using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["AbleCommerce"].ToString()))
    {
        cn.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = cn;

        cmd.Parameters.Add(new SqlParameter("@FIPSCountyCode", countyCodeTxt.Text));
        cmd.Parameters.Add(new SqlParameter("@StateCode", stateCodeList.SelectedValue));
        cmd.Parameters.Add(new SqlParameter("@CountyName", countyNameTxt.Text));

        string taxStr = taxRateTxt.Text;
        //test for an empty string and set it to db null
        if (taxStr == String.Empty)
        {
            taxStr = DBNull.Value;

        }

        cmd.Parameters.Add(new SqlParameter("@TaxRate", taxStr));

        if (AddBtn.Visible == true)

            cmd.CommandText = addQuery;

        if (EditBtn.Visible == true)
        {
            cmd.CommandText = editQuery;
        }

        cmd.ExecuteNonQuery();
        cn.Close();
    }

这里我漏掉了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-07 23:01:10

删除此代码块

代码语言:javascript
复制
string taxStr = taxRateTxt.Text;
//test for an empty string and set it to db null
if (taxStr == String.Empty)
{
    taxStr = DBNull.Value;

}

改变这一点

代码语言:javascript
复制
cmd.Parameters.Add(new SqlParameter("@TaxRate", taxStr));

到这个

代码语言:javascript
复制
cmd.Parameters.Add(new SqlParameter("@TaxRate", string.IsNullOrEmpty(taxRateTxt.Text) ? (object)DBNull.Value : taxRateTxt.Text));
票数 23
EN

Stack Overflow用户

发布于 2014-02-07 23:01:50

传入Convert.DBNull (或DBNull.Value)就可以了。

http://msdn.microsoft.com/en-us/library/system.convert.dbnull(v=vs.110).aspx

当然,您必须先检查字符串值,然后再将其传入。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21630929

复制
相关文章

相似问题

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