Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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# 如何使用sql在c中仅显示表中的新行或更新行?_C#_Sql_Gridview - Fatal编程技术网

C# 如何使用sql在c中仅显示表中的新行或更新行?

C# 如何使用sql在c中仅显示表中的新行或更新行?,c#,sql,gridview,C#,Sql,Gridview,是否有一种方法可以使用C中的Sql仅加载表中新的或更新的编辑记录? 假设我有一个由1000条学生记录组成的表。我想在gridview中显示此信息这只是一个示例,在添加或编辑新条目时,我希望gridview得到更新并显示表的最新更改。如果我去 挑选* 语句,这肯定会降低应用程序的性能,因此我认为尝试只将这些新记录添加到以前加载到gridview的记录中是个好主意。 但是我对如何完成这样的任务一无所知。创建一个时间戳列并存储上次更新的日期。在应用程序中,存储上次从数据库检索数据的时间。然后,您只能选

是否有一种方法可以使用C中的Sql仅加载表中新的或更新的编辑记录? 假设我有一个由1000条学生记录组成的表。我想在gridview中显示此信息这只是一个示例,在添加或编辑新条目时,我希望gridview得到更新并显示表的最新更改。如果我去

挑选*

语句,这肯定会降低应用程序的性能,因此我认为尝试只将这些新记录添加到以前加载到gridview的记录中是个好主意。
但是我对如何完成这样的任务一无所知。

创建一个时间戳列并存储上次更新的日期。在应用程序中,存储上次从数据库检索数据的时间。然后,您只能选择此后更改或添加的记录。

最简单的方法是在表中添加一个新字段,例如datetime类型的ModifyDate,并在插入和更新记录时将当前日期时间放在这些字段中

在这种情况下,您可以根据此字段选择查询,如下所示

Select Top 10 * from Table1 OrderBy ModifyDate desc 

没有其他解决方案,只需构建数据库即可

这只是许多可能的解决方案之一:对于数据库中插入或更新的每个记录,都可以有一个时间戳。将这些信息保存在数据库中,您可以:

a从时间戳的角度获取数据网格中的最新记录

b从darabase获得所有时间戳大于它的REOIRD


我再说一遍,这只是许多可能的解决办法之一。什么符合您的要求必须由您自己决定。

谢谢您,先生,现在我如何将这些新记录添加到现有的gridview?我的意思是,目前让我印象深刻的是,我创建了第三个表,合并结果表和gridview中显示的当前记录,然后使用第三个表作为gridview数据源。这是否明智或实用?解决此问题的其他解决方案是什么?@Hossein:如果您谈论的是DataTable,请使用AddRow。。方法为什么要再次创建另一个DataTable?我对添加没有问题,我只关心在gridview中显示以前记录旁边的最新更改。您建议使用timestap显示新记录,我想要的只是一种方法,将新记录尽快添加到gridview中当前显示的记录中。我想要的是一个坏主意还是想法?我的意思是,它一开始就有意义吗?@Housen:这是一个非常好的主意。这就是为什么可以对新的和升级的行使用时间戳。