asp.net - 为什么将空格添加到我的 sql 表中的一行?

标签 asp.net sql database

我不确定这是为什么,基本上当我使用以下函数插入一行时:

    public bool CreateUser(string username, string password, string email, int age = 0)
    {
        SqlConnection myConnection = new SqlConnection();
        myConnection.ConnectionString = "Data Source=localhost\\SQLEXPRESS;" +
        "Initial Catalog=Pubs;Integrated Security=SSPI;Trusted_Connection=True;";

        try
        {
            myConnection.Open();

            string query = "INSERT INTO SiteUser VALUES('" + username + "', '" +  password + "', '" + email + "', " + age + ")";
            SqlCommand cmd = new SqlCommand(query);
            cmd.Connection = myConnection;
            cmd.ExecuteNonQuery();

            myConnection.Close();
        }
        catch (Exception excep)
        {
            string error = excep.ToString();
            Response.Write(error);

            return false;
        }


        return true;
    }

“密码”字段最终包含空格(如“密码”)。所以无论密码是什么,它后面都有空格。

奇怪的是,这不会发生在字段“UserName”上,两者都是 char(50) 类型。

最佳答案

您确定一个不是 varchar(50) 而一个是 char(50)。您会发现指定了 char 的数据库列将始终是该长度。

关于asp.net - 为什么将空格添加到我的 sql 表中的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4013216/

相关文章:

ruby-on-rails - Rails 与非 Rails 数据库设计

java - 比较数据库中的图像

c# - 如何将编码的 Web 性能测试添加到 visual studio 2012 中的负载测试

css - 当我知道该值不为空时,Asp.net 参数显示为 null

asp.net - Web API ASP.NET 中的 NHibernate : No session bound to the current context

sql - 基于文件的数据库和基于服务器的数据库有什么区别?

c# - 如何在 c#.net 中获取 javascript 确认弹出窗口值

SQL : counting and grouping by on the same column with conditions

php - MYSQL 和 PHP 从 2 个不同的表中选择 + 创建一个数组

sql-server - 扩展第三方数据库的最佳实践?