c# - 在 C# 中搜索 2 个日期时间之间的值

标签 c# sql-server

在 winform 应用程序中,我有一个用于显示数据库值的数据 GridView 。我使用以下这些代码来查看两个特定日期时间之间的结果,例如 6/5/2010 和 7/5/2010 之间的结果,但它只显示在这些日期时间中准确更新的行。我的意思是它只是向我显示具有确切注册日和完成日的行。我想查看这些时间之间的所有结果。

private void button1_Click(object sender, EventArgs e)
    {
        sql = new SqlConnection(@"Data Source=PC-PC\PC;Initial Catalog=Test;Integrated Security=True");
        adapter = new SqlDataAdapter("select EntryID,Name,FamilyName,Registrationday,Finishday,Fee from Entry where Registrationday =@Registrationday AND Finishday =@Finishday", sql);
        adapter.SelectCommand.Parameters.AddWithValue("@Signday", Convert.ToDateTime(textBox1.Text).ToShortDateString());
        adapter.SelectCommand.Parameters.AddWithValue("@Finishday", Convert.ToDateTime(textBox2.Text).ToShortDateString());
        dt = new DataTable();
        adapter.Fill(dt);
        dataGridView1.DataSource = dt;
    }

最佳答案

对于重叠您的间隔的行:

Registrationday <= @Finishday AND Finishday >= @Registrationday 

这匹配以下所有行:

-------R-------F-----------
    *------------*
     *------*
       *---*
          *---*
            *------*

对于完全在您的间隔内的行:

Registrationday >= @Registrationday AND Finishday <= @Finishday 

这只匹配这些行:

-------R-------F-----------
       *---*
          *---*

关于c# - 在 C# 中搜索 2 个日期时间之间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473237/

相关文章:

c# - 与不同类型的接口(interface)

c# - mysql 检索最后插入的自动递增值

c# - SQL Server CLR 集成是否支持配置文件?

asp.net - WHERE CONTAIN 查询中的 SQL 语法错误

c# - ExecuteNonQuery 并从 SQL Server 返回值,C#

c# - 当调用来自系统命名空间的函数时,c 锐利的编译器如何工作?

java - 从 C# 客户端上的流中读取 Java servlet 字节

c# - 查找接口(interface)实例背后的具体类型

sql - CASE表达式语法错误SQL

sql - 恢复数据库SQL Server查询