每当我从文本框中将字符串值插入数据库时,在asp.net中,在数据库行中的字符串值之后存储一个随机数量的空格?怎么避免呢?
答案 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();
这将确保字符串末尾没有空格。