我想从SQL Server数据库中获取所有记录;我正在使用Entity Framework和C#。
我使用DateTimePicker
值传递给存储过程,并且当我从datetime选择器中选择数据时,存储过程期望datetime对象它获得整个字符串但我只需要date。我尝试使用datetime对象但没有成功将该值放到datetime对象dt
现在的问题是,当我尝试更改datetimepicker的格式时,它将其转换为字符串,但我需要datetime obj但只需要日期
DateTime dt = dateTimePicker1.Value.Date;
dataGridView1.DataSource = dbobj.sp_Select_Expense_Month(dt).ToList();
如何将某些内容传递给存储过程?请帮我 为所有评论员祈祷
我尝试了很多解决方案,但最接近的是在存储过程中使用类似查询,但它没有显示任何结果,但是在gridview中调用了标题,甚至当我在SQL Server Management Studio中尝试它时,它显示相同的列名称没有任何记录
ALTER PROCEDURE sp_Select_Expense_Month
@dt dateTime
AS
BEGIN
SELECT *
FROM Expense
WHERE [DateTime] LIKE '@dt%'
END
GO
在数据库结构中只有日期类型
答案 0 :(得分:3)
即使在time
datetime
修剪sql
SELECT * FROM Expense WHERE [DateTime] = cast(@dt as date)
确保您传递有效的日期时间格式