我试着在一个月内获得SQL精简版,从表中的记录。 这里是SQL查询,我知道:
DECLARE @startDate as DATETIME, @EndDate as DATETIME
@startDate = GetDate();
@ENdDate = DATEADD(m,1,@startDate)
select * from table where (columnname between @startdate and @enddate)
我知道,你必须在同一时间发送一个脚本,但你怎么能在SQL CE(我猜它不接受申报)声明变量?
我想,我的回答是这个问题很迟,但希望这将是有用的人。
你不能声明在SQL CE一些变量,因为只有一个语句可以按命令中使用。 作为ErikEJ在此表示的链接 。
您需要重构自己的脚本来一个大的语句,如果可能的话!
我会很高兴听到一个更好的解决方案。
看看后如何填充一个SQL Server Compact数据库? 看看是否有参考的工具可以帮助你。
如果你把它通过应用程序(我不知道你是如何读取数据)
准备好你的查询就像这样:
select * from table where (columnname between ? and ?)
但我不知道你是否可以使用关键字之间。 可能是你需要改变这一点。
那么你需要添加SqlCeParameter对象是这样的:
cmd.Parameters.Add(new SqlCeParameter("p1", SqlDbType.DateTime, myDate));
我不熟悉SQL-CE,但我认为你错过了一些Set
语句。 试试这个 :
DECLARE @startDate as DATETIME, @EndDate as DATETIME
Set @startDate = GetDate();
Set @ENdDate = DATEADD(m,1,@startDate)
select * from table where (columnname between @startdate and @enddate)
更新查看在查询中使用的参数在从MSDN SQL CE参考。 你是正确的在申报是不是一个有效的关键字,所以你需要查询从应用本身的参数化版本。
select * from table where (columnname between ? and ?)