我有一个我似乎无法解决的问题!特别是使用 TrimEnd() 函数。
背景:使用 Visual Studio 2010 Express,我正在构建一个 VB.NET 应用程序,该应用程序使用LINQ to SQL从内置 SQL 数据库中提取数据并将其放入数据网格视图中。然后我从数据网格中获取一个值并将其放入其他地方的变量中。
问题:如果数据库中的一个字段的最大长度为 25 个字符,但具体来说只有 10 个,那么最后我会得到 15 个额外的空格。因此,当我将单元格值拉入变量时,它是"variable "
.
我一直在努力摆脱最后的空间。唯一有效的方法是.Replace
方法,但我不想去掉中间的任何空格,只去掉末尾的多余空格。这是我在做一些研究后尝试过的一些东西:
1.
Dim sChar as String = " "
myVariable = myVariable.TrimEnd(sChar)
2.
myVariable = myVariable.Trim()
3.
Dim charsToTrim As Char() = {" "c}
myVariable = myVariable.TrimEnd(charsToTrim)
这些都没有奏效。正如我所说, myVariable = myVariable.Replace(" ", "") 有效,但我不想摆脱所有的空间,只是最后的空间和修剪不起作用。如果有人有任何想法,我想听听他们的意见。
更新解决步骤:
因此建议将列更新为 nvarchar。这使我可以将数据输入到字段中,并且 SQL 不会用多余的空格填充剩余的字符。但是,一旦我进行了更改,我的 LINQ to SQL 就停止了工作。
Public Sub LoadClients()
Dim query = From a In db.Clients
Select a.Account_Number,
a.Client_Type,
a.Client_Name,
a.Client_Address1,
a.Client_Address2,
a.Client_City,
a.Client_State,
a.Client_ZIP,
a.Client_Contact,
a.Client_Phone
dgvClients.DataSource = query
未处理获取 InvalidCastException - 特定转换无效。