C# SQL会话语法错误
我正在VisualStudio中使用GridView并向其中添加自定义SQL查询C# SQL会话语法错误,c#,asp.net,visual-studio,ms-access,C#,Asp.net,Visual Studio,Ms Access,我正在VisualStudio中使用GridView并向其中添加自定义SQL查询 SELECT [Type], [YogaType], [ReservationTime], [ReservationDate], [SpacesLeft], [Cancelled], [SessionID] FROM [Reservation] WHERE (([CustomerID] = ?) AND ([ReservationDate] > #?#)
SELECT
[Type], [YogaType], [ReservationTime], [ReservationDate],
[SpacesLeft], [Cancelled], [SessionID]
FROM
[Reservation]
WHERE
(([CustomerID] = ?)
AND ([ReservationDate] > #?#)
OR ([ReservationDate] = #?# AND ([ReservationTime] > #?#)))
填写引号的信息来自会话。当我尝试测试它时,会出现以下错误
查询表达式“([CustomerID]=?)和([ReservationDate]>#?#)或([ReservationDate]=#?#和([ReservationTime]>#?#)中的日期出现语法错误。”
知道哪里出了问题吗?我无法调试ASPX页面,无法设置断点。我正在使用MS Access数据库,通过在Access和查询生成器中进行大量测试,我已经找到了答案。这是一个有效的SQL查询:
SELECT [Type], [YogaType], [ReservationDate], [ReservationTime], [SpacesLeft], [Cancelled], [SessionID] FROM [Reservation] WHERE (([CustomerID] = ?) AND ([ReservationDate] > ?) OR ([ReservationDate] = ? AND ([ReservationTime] > ?)));
首先要尝试的是删除日期参数占位符周围的#。当您使用参数时,该规则不适用。然后,您应该显示构建参数集合的代码,并解释您传递给这些参数的数据类型Stomer ID是整数,日期和时间作为DateTime传递。您可以添加到问题中吗使用了有效的代码?例如,如果您使用AddWithValue,那么会有很多问题。您应该说明如何调用db。我认为
@
用于定义查询中的参数,例如,@CustomerID
@SergiiZhevzhyk OleDb不支持这种语法