检查Null或空字符串是否有两个值C#

时间:2019-08-15 04:33:27

标签: c# sql

我想检查主题代码和主题名称是否为空字符串或空值,以便主题代码和主题名称的空字符串不会存储在数据库中。我是C#的新手。代码有误。它说不能从布尔转换为字符串。我尝试了很多方法,但错误仍然存​​在。修复了从bool转换为字符串的错误后,它返回了一个Not Found错误。我应该如何更改return NotFound()错误?

        public IHttpActionResult PostAddSubjectCode([FromBody] ConfigSubjectCode SubjectCodes)
        {

        string Subject_Code = SubjectCodes.Subject_Code;  
        string Subject_Name = SubjectCodes.Subject_Name; 
        if (String.IsNullOrEmpty(Subject_Code) && String.IsNullOrEmpty(Subject_Name))
        {
            return NotFound();
        }
        else
        {
            string sql = "INSERT INTO[dbo].[GEO_SUBJECT_CODES] ([Subject_Code],[Subject_Name_BY_CLASS]) VALUES " +
                         "('" + Subject_Code + "', '" + Subject_Name + "');";
            DBConnection dbConnection = new DBConnection();
            dBConnection.UpdateTable(sql);            
            return Ok();
        }

        }   

3 个答案:

答案 0 :(得分:0)

  1. 错误完全准确地指出了问题所在:问题是:您正在将booleanSubject_Code == "" && Subject_Name == "")传递给String.IsNullOrEmpty,而预期{ 1}}

  2. 您正在为要检查的变量设置空字符串,从而使string检查毫无意义

  3. 您的SQL可供开放使用

强烈建议Getting started with ASP.NET MVC 5,它还将提供指向较新的if示例的链接。


我将其保留在这里,因为我们有一个讨论线索并指出了所列出的问题。

Core

在模型中查看DataAnnotations [Required]而不是-您将同时获得服务器端和客户端的验证。我强烈建议您阅读大量的教程,而不是零碎的东西。

答案 1 :(得分:-1)

根据上面的代码,您尝试将布尔值与字符串值进行比较,这会给您带来错误,请尝试以下解决方案。

 @IBAction func LeaveUnwindSeque(segue: UIStoryboardSegue){

    }

注意:这是针对OP问题的快速解决方案,而不是最佳实践。

答案 2 :(得分:-1)

由于您的if/else都返回了,所以它永远不会到达实际的更新代码。而且,您将两个变量都分配给了一个固定的空字符串,这在任何情况下都不会导致if/else起作用。您想要这样的东西:

    public IHttpActionResult PostAddSubjectCode([FromBody] ConfigSubjectCode SubjectCodes)
    {

        string Subject_Code = SubjectCodes.Subject_Code; // these can't be fixed ""
        string Subject_Name = SubjectCodes.Subject_Name; // these can't be fixed ""
        if (String.IsNullOrEmpty(Subject_Code) && String.IsNullOrEmpty(Subject_Name))
        {
            return NotFound();
        }
        else
        {
            string sql = "INSERT INTO[dbo].[GEO_SUBJECT_CODES] ([Subject_Code],[Subject_Name_BY_CLASS]) VALUES " +
                         "('" + Subject_Code + "', '" + Subject_Name + "');";
            DBConnection dBConnection = new DBConnection();
            dBConnection.UpdateTable(sql);            
            return Ok();
        }

    }   
相关问题