Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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# 重命名datatable中的行_C#_Sql Server_Datatable_Sqldatareader - Fatal编程技术网

C# 重命名datatable中的行

C# 重命名datatable中的行,c#,sql-server,datatable,sqldatareader,C#,Sql Server,Datatable,Sqldatareader,我目前正在使用一个第三方应用程序的数据库,该应用程序没有对我正在使用的列中的数据进行表单检查。我使用SqlDataReader(因为这不需要修改数据库中的现有表)将数据放入datatable并删除重复项,但是当我删除重复项时,由于不同的人错误地输入数据,我仍然会留下垃圾重复项。比如, 苹果 应用 香蕉 班南 巴纳 橙子 等等 如何在datatable中更正它们,使datatable只有Apple、Orange等 幸运的是,本专栏中只有几个不同的条目,所有条目都以不同的字符串开头,例如cen、

我目前正在使用一个第三方应用程序的数据库,该应用程序没有对我正在使用的列中的数据进行表单检查。我使用
SqlDataReader
(因为这不需要修改数据库中的现有表)将数据放入datatable并删除重复项,但是当我删除重复项时,由于不同的人错误地输入数据,我仍然会留下垃圾重复项。比如,

  • 苹果
  • 应用
  • 香蕉
  • 班南
  • 巴纳
  • 橙子
  • 等等
如何在datatable中更正它们,使datatable只有Apple、Orange等

幸运的是,本专栏中只有几个不同的条目,所有条目都以不同的字符串开头,例如cen、cas,所以如果我能够更改所有以app开头的条目


不幸的是,修改原始程序以在输入时检查数据不是一个选项。

我认为此脚本将帮助您

update [TableName]
set [ColumnName] = 'someName'
where [ColumnName] in 
(
select [ColumnName] from [TableName]
where [ColumnName] != 'someName'
and [ColumnName] != 'someName'
and [ColumnName] != 'someName'
and [ColumnName] != 'someName'
and [ColumnName] != 'someName'
)
--to be safe google "begin transaction" and how to "rollback" the changes
更改列的名称后,可以根据更改的名称删除列

delete [TableName]
where [ColumnName] = 'TheName'

这太糟糕了,你不能仅仅修改原始
SRC
中的检查,你必须以某种方式假设用户的意思,也许你可以添加一些
扩展
方法或`界面,如果用户输入的单词不是正确的单词,就强制用户验证输入。。这是一个很好的问题,这是否可能实现您所寻找的@DJKRAZE不幸的是,用于数据输入的第三方应用程序已完全关闭,但是可以直接访问这些表。我使用应用程序数据库中的表以及另一个应用程序中的表来生成自定义报告,这两个原始应用程序的功能都超出了自定义报告的范围。问题在于,如果没有对该字段进行表单检查,人们会将任何接近的内容或他们为该项目想出的任何首字母缩略词放在该字段中。如果我能检查一下数据表,那我就可以走了。听起来你需要制定一些更严格的
标准,这一定是一团糟。你怎么能用这样的东西来管理库存或利润/亏损呢。。听起来这不是一个“基于美国的操作”
@DJKRAZE我正在使用大量的历史数据来构建配置文件。我正在编写一个应用程序,它将从数据库中提取数据,转换数据,并根据用户设置的条件在网格视图中显示数据。当前和未来的数据是并将是正常的。由于它们的性质,我认为只有两个字段是动态的。我已经编辑了你的标题。请参阅“”,其中一致意见是“不,他们不应该”。是否不可能修改从数据库中提取的datatable?当然,您可以修改它并向用户显示您希望从该表中显示的内容。您有一个简单的解决方案吗?我可以删除重复项,但在此之前,我想重命名垃圾重复项。你知道怎么做吗?