【问题标题】:Checking available dates - LINQ检查可用日期 - LINQ
【发布时间】:2017-04-23 02:49:48
【问题描述】:

我的数据库“汽车”和“预订”中有 2 个表 在“汽车”表中,我有以下属性:CarID(PK)、品牌、型号和尺寸。在“预订”表中:ID(PK)、CarID(FK)、开始日期和结束日期。

我有一个 WPF 应用程序,其中包含 3 条用户输入的信息:汽车尺寸、开始日期和结束日期。用户输入此信息并单击触发查询的按钮以搜索数据库并查找尺寸相同且在用户选择的日期可用的汽车。

我已通过 SQL Server Management Studio 为数据库的所有属性输入值。

我的问题:我已经弄清楚如何搜索汽车尺寸,但我不明白如何从日期开始到结束搜索数据库。

这就是我在 WPF 的 XAML 代码中制作日期选择器的方式:

    <StackPanel Margin="125,56,264,279.4">
        <DatePicker Margin="0,0,10.2,0" Height="25" RenderTransformOrigin="0.5,0.5"/>
    </StackPanel>

这是我目前的查询:

var searchQuery = from c in db.Cars
           join b in db.Bookings on c.CarID equals b.CarID
           where c.Size == comboBox_CarType.Text
           && EndDate.SelectedDate < b.EndDate && StartDate.SelectedDate > 
           b.StartDate
           select c.Make.Trim() + " - " + c.Model.Trim();


            listBox_AvailableCars.ItemsSource = searchQuery.ToList();

【问题讨论】:

    标签: c# wpf linq xaml


    【解决方案1】:

    试试这个

    var searchQuery = from c in db.Cars
                      join b in db.Bookings on c.CarID equals b.CardID
                      where c.Size == comboBox_CarType.Text 
                      && datepicker.SelectedDate < b.EndDate && datepicker.SelectedDate > b.StartDate
                      select c.Make.Trim() + " - " + c.Model.Trim();
    
    listBox_AvailableCars.ItemsSource = searchQuery.ToList();
    

    【讨论】:

    • datepicker.value 不起作用。 datepicker 不包含“值”的定义
    • 你还没有命名示例中的控件我只是举了一个例子。当我说 datepicker.value 时,我的意思是您控制的值,无论它是什么
    • 我认为它有一个选定的日期尝试
    • 如果我理解正确,你的意思是给每个日期选择器一个名字,对吗?
    • 是的,不给名字你怎么能访问它,你给组合框起了名字吗?
    猜你喜欢
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多