在SQLCE中声明变量
我正在尝试在sql compact edition中在一个月内从表中获取记录。 以下是我知道的sql查询:在SQLCE中声明变量,sql,sql-server-2005,sql-server-ce,Sql,Sql Server 2005,Sql Server Ce,我正在尝试在sql compact edition中在一个月内从表中获取记录。 以下是我知道的sql查询: DECLARE @startDate as DATETIME, @EndDate as DATETIME @startDate = GetDate(); @ENdDate = DATEADD(m,1,@startDate) select * from table where (columnname between @startdate and @enddate) 我知道您必须一次发送
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,但我认为您缺少一些
Set
语句。试试这个:
更新
请参阅MSDN中的SQL CE参考。您的正确之处在于Declare不是有效的关键字,因此您需要从应用程序本身将查询作为参数化版本
select*from table where(columnname介于?和?)
我不熟悉SQL-CE,但我认为您缺少一些Set
语句。试试这个:
更新
请参阅MSDN中的SQL CE参考。您的正确之处在于Declare不是有效的关键字,因此您需要从应用程序本身将查询作为参数化版本
从表格中选择*(columnname介于?和?)查看帖子
并查看此处引用的工具是否对您有所帮助。请查看帖子
并查看此处引用的工具是否可以帮助您。如果您通过应用程序调用它(我不确定您如何读取数据)
按如下方式准备查询:
select * from table where (columnname between ? and ?)
cmd.Parameters.Add(new SqlCeParameter("p1", SqlDbType.DateTime, myDate));
但是我不确定你是否可以使用between关键字。也许你需要改变这个
然后,您需要添加SqlCeParameter对象,如下所示:
select * from table where (columnname between ? and ?)
cmd.Parameters.Add(new SqlCeParameter("p1", SqlDbType.DateTime, myDate));
如果您通过应用程序调用它(我不确定您如何读取数据)
按如下方式准备查询:
select * from table where (columnname between ? and ?)
cmd.Parameters.Add(new SqlCeParameter("p1", SqlDbType.DateTime, myDate));
但是我不确定你是否可以使用between关键字。也许你需要改变这个
然后,您需要添加SqlCeParameter对象,如下所示:
select * from table where (columnname between ? and ?)
cmd.Parameters.Add(new SqlCeParameter("p1", SqlDbType.DateTime, myDate));
我想我对这个问题的回答已经很晚了,但希望它能对其他人有用。
您不能在SQLCE中声明某些变量,因为每个命令只能使用一条语句。正如ErikEJ在这篇文章中所说的。
如果可能的话,您需要将脚本重构为一个大语句!
我很高兴听到更好的解决方案。我想我对这个问题的回答已经很晚了,但希望它对其他人有用。
您不能在SQLCE中声明某些变量,因为每个命令只能使用一条语句。正如ErikEJ在这篇文章中所说的。
如果可能的话,您需要将脚本重构为一个大语句!
我很高兴听到更好的解决方案。SQL中不允许声明CE@alice7在阅读了更多相关内容后,SQL-CE非常有趣,但非常有限。SQL中不允许使用DECLARECE@alice7在阅读了更多相关内容后,SQL-CE非常有趣,但非常有限。实际上,我认为应该使用这样的方法:从数据库中获取所有记录(这不是一个明智的想法)。然后使用list.FindAll(Object=>(Object.DateDateTime.Now));这将给出准确的结果。对于您的建议,Nikadimac实际上我认为应该使用这样的方法:从数据库获取所有记录(这不是一个明智的想法)。然后使用list.FindAll(Object=>(Object.DateDateTime.Now));这将给出准确的结果。谢谢你的建议,尼卡迪姆