【发布时间】:2023-03-11 15:56:01
【问题描述】:
我在两个日期之间选择两条记录,这样做时我遇到重复记录,我使用了 distinct 但它不起作用:这就是我的查询的样子:
public List<i> searchTwoDates(string firstDate, string secondDate)
{
DateTime fdate = Convert.ToDateTime(firstDate);
string realfirstDate = fdate.ToLongDateString();
DateTime sdate = Convert.ToDateTime(secondDate);
string realsecondDate = sdate.ToLongDateString();
List<i> date = new List<i>();
SqlConnection conn = new SqlConnection(....);
SqlCommand command = new SqlCommand(@"SELECT distinct * From TableName WHERE Cast(columnName AS DATE) > @columnName AND CAST(columnName AS DATE) < @columnName1 ORDER BY columnName1 Desc", conn);
command.Parameters.AddWithValue("@columnName", realfirstDate);
command.Parameters.AddWithValue("@columnName2", realsecondDate);
conn.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Mod d = new Mod();
here i get my column names....
date.Add(d);
}
conn.Close();
return date;
}
我的数据库中也有一个唯一 ID,因此我们可以使用它来检索唯一记录,但我将如何编写它?
目前我收到重复记录
ID FName sName Date
1 John JAck 2013-9-07
2 Linda Bush 2013-10-07
3 Linda Bush 2013-11-07
This is what i want
ID FName sName
1 John JAck 2013-9-07
2 Linda Bush 2013-11-07
这是 2013-9-07 到 2013-11-07 之间的记录。在这些记录之间我不想要任何重复的 ID
【问题讨论】:
-
您是否将日期时间作为字符串存储在数据库中?
-
我将它存储为日期时间 - 但在这里我正在转换,所以它应该没问题
-
d变量是什么?它没有在任何地方初始化。 -
你能提供样品表和所需的输出吗?
-
我看到您更新了您的问题,但仍不清楚。您是根据什么标准从这三行中选择这两行的?而且无论如何,你说你有一个唯一的ID,那怎么能重复呢?首先,您的数据库中有什么?