Sql 在记录上选择时修改记录中的键的最佳解决方案

Sql 在记录上选择时修改记录中的键的最佳解决方案,sql,database,Sql,Database,我有一个更新sql命令,它修改特定表中的日期/时间字段。这个表有两个键,ProductionCode和TestTime,这是正在修改的。特定记录的生产代码从不更改,但用户通常会发现他们输入了错误的测试时间,需要更改 我有可以从datagrid检索的更新时间,但是,我需要选择要更改的正确记录。为了做到这一点,我的where标准之一必须是该记录在数据库中设置的当前时间 目前,我保留了一个旧时间数组,每当运行UPDATE命令时都会对其进行更新。因此,在sql命令的WHERE块中,使用旧时间。一旦它在数

我有一个更新sql命令,它修改特定表中的日期/时间字段。这个表有两个键,ProductionCode和TestTime,这是正在修改的。特定记录的生产代码从不更改,但用户通常会发现他们输入了错误的测试时间,需要更改

我有可以从datagrid检索的更新时间,但是,我需要选择要更改的正确记录。为了做到这一点,我的where标准之一必须是该记录在数据库中设置的当前时间

目前,我保留了一个旧时间数组,每当运行UPDATE命令时都会对其进行更新。因此,在sql命令的WHERE块中,使用旧时间。一旦它在数据库中被更新,我就会更新时间数组。当时间输入顺序不正确时,或者当datagrid在不同于时间的字段上排序时,困难就出现了。我必须跟踪所有旧时间对应于数据网格行的顺序,它在过去导致了许多错误。目前它还可以正常工作,但充其量也很精致


所以我真正想要的是一个更好的解决方案。我应该只存储用于填充UI的SELECT语句的结果,并依赖它们吗?目前,我的数据库结果只能直接放在datagrid中。还是有别的办法?我避免了自动数据绑定,而倾向于手动使用SQL命令,因为我的数据网格是动态配置的,并且在不同的加载之间使用不同的模式,并且唯一保证存在的列是ProductionCode和TestTime。

添加一个新的列id,其中包含一个唯一的编号,可以标识每一行。如果您的用户需要修改主键,您可能没有选择一个好的主键?

添加一个新的列id,该列id包含可以识别每一行的唯一编号。如果您的用户需要修改主键,您可能没有选择好的主键?

我不知道您使用的是哪种语言,但您提到datagrid的方式让我觉得它是一种.NET语言

Datagrids和GridView等具有允许您设置要引用的键的属性。为主键创建一个自动编号索引,并使用该索引引用回要更新的正确记录

键应该是只读的,句号

希望添加这个新字段不会干扰您的代码,但可能会。但这是处理数据结构的正确方法


此外,根据您的SQL风格,您可能能够在选择中生成行号。这可能会让您找到一个可行的解决方案,但这不是正确的选择。

我不知道您使用的是哪种语言,但您提到datagrid的方式让我觉得它是一种.NET语言

Datagrids和GridView等具有允许您设置要引用的键的属性。为主键创建一个自动编号索引,并使用该索引引用回要更新的正确记录

键应该是只读的,句号

希望添加这个新字段不会干扰您的代码,但可能会。但这是处理数据结构的正确方法


此外,根据您的SQL风格,您可能能够在选择中生成行号。这可能会让您找到一个可行的解决方案,但这不是正确的选择。

这正是我需要做的。我本来不打算改变时代。谢谢。这就是我需要做的。我本来不打算改变时代。谢谢