从文本框,asp.net中取出存储在数据库中的值后,如何避免空格?

时间:2012-10-31 11:04:39

标签: c# asp.net

每当我从文本框中将字符串值插入数据库时​​,在asp.net中,在数据库行中的字符串值之后存储一个随机数量的空格?怎么避免呢?

6 个答案:

答案 0 :(得分:4)

您可以使用Trim()函数,或者您可能还想检查数据库设置。

如果你使用了char或nchar,你将始终被分配x个字节空间,你的字符串将被填充。为避免这种情况,请使用varchar,它只会存储您发送的字符。

如果发送“test”

char(10)将存储“test”

然而varchar(10)将存储“test”

答案 1 :(得分:2)

检查数据库中列的定义。是CHAR(x)还是NCHAR(x)?或VARCHAR(x)或NVARCHAR(x)?

如果它不是VARCHAR或NVARCHAR,则它是一个固定长度的字段,这意味着它后面总会有空格(假设字符串的长度不完全是字段的长度)。

除非您从头开始编码,否则更改数据库中字段的定义可能会很重要(并且更改它不会从已存在的所有现有行中删除空格)。但这可能可能正在发生的事情。

如果您在程序中的某个位置,存储过程参数中或在为SqlCommand创建参数时使用CHAR(x)或NCHAR(x),也可能会发生这种情况。

为了修剪字符串中的空格,我喜欢Habib的答案。

答案 2 :(得分:1)

string content= TextBox1.Text.Trim();

现在将此content值存储到数据库中。

如果这没有帮助,可能问题不在您的应用程序方面。

您可以另外执行此查询以删除空格 -

UPDATE
    your_table
SET 
    your_column = TRIM(your_column);

这将确保您删除列的所有值中的任何空格。

答案 3 :(得分:0)

Use trim() function in c# or SQL Query side ..
Ex:
String str = " C# ";
Console.WriteLine("Hello{0}World!", str);
string trStr = str.Trim();

答案 4 :(得分:0)

textbox1.Text.Replace(" ","");

也许不是最干净的方法,但它应该有效

答案 5 :(得分:0)

如果使用c#,则可以始终使用trim()选项。 例如,如果您的文本字符串为“name”,则可以通过以下方式避免以下任何空格:

string newstr = name.trim();

这将确保字符串末尾没有空格。