Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字段从nchar转换为nvarchar字段,但在更新时仍会添加空格_C#_Sql Server_Sqldatatypes - Fatal编程技术网

C# 将字段从nchar转换为nvarchar字段,但在更新时仍会添加空格

C# 将字段从nchar转换为nvarchar字段,但在更新时仍会添加空格,c#,sql-server,sqldatatypes,C#,Sql Server,Sqldatatypes,我在C工作,我有一个问题,我不知道如何解决 我在SQLServer2008中有几个字段是nchar,并注意到最后的空格,所以我在SQLServer中将它们转换为nvarchar。然后为了进行测试,我在sql server端编辑了它们并删除了空格。在我从我的表格中发布更新之前,一切都很好,然后它将它们全部放回原处 我想,我这边必须有空格,所以我在写之前修剪字段,甚至在消息框中用*+field+*显示它,以确保没有空格。我一更新,他们就回来了 我假设这是数据集的问题,但它们都被设置为字符串。 那么,

我在C工作,我有一个问题,我不知道如何解决

我在SQLServer2008中有几个字段是nchar,并注意到最后的空格,所以我在SQLServer中将它们转换为nvarchar。然后为了进行测试,我在sql server端编辑了它们并删除了空格。在我从我的表格中发布更新之前,一切都很好,然后它将它们全部放回原处

我想,我这边必须有空格,所以我在写之前修剪字段,甚至在消息框中用*+field+*显示它,以确保没有空格。我一更新,他们就回来了

我假设这是数据集的问题,但它们都被设置为字符串。 那么,我该如何消除这些空间呢?我试过修剪所有的东西,但没什么区别

我是否必须销毁数据集中的表并重新创建它?我认为除了在sql server端进行更改之外,我不需要做任何事情


请注意,我意识到仅仅转换字段就会留下空格,但我已经从数据中删除了它们。这是在应用程序端发生的。

是否使用参数化SQL进行插入和更新


您的SQL参数类型是nvarchar吗?

nchar不会在字符串中填充空格。数据类型不是问题所在。你能展示一下你的更新代码吗?事实上我发现nchar确实有空格。更改为nvarchar后,使用RTRIM进行大规模更新将清除数据。然而,问题似乎仍然存在于表单更新中。。表单是否可能调用仍然在某处声明nchar的存储过程?能否显示声明参数的代码并将DML命令发送到SQL Server?您是否使用参数化语句?他们仍然将变量声明为nchar吗?