我觉得也是时间可能没有转换好,但是我现在真的不知道该怎么改。照着你的方法改了之后,还是报‘where附近有语法错误’。这是我打印的SQL语句结果。 SELECT COUNT(*) FROM I_异常情况_异常情况提报 WHERE InstanceCreatedTime >='07/01/2012' and InstanceCreatedTime<='07/08/2012' 完全可以执行,不知道怎么回事,放进存储过程中就出错。
哈,知道原因了,你的参数赋值这部分,没有给参数定义它们的字段类型啊,比如 SqlParameter[] para = new SqlParameter[] { new SqlParameter("@endTime",SqlDbType.DateTime), new SqlParameter("@startTime",SqlDbType.DateTime), new SqlParameter("@price",SqlDbType.Varchar), new SqlParameter("@brach",SqlDbType.Varchar), new SqlParameter("@state",SqlDbType.Int) }; para[0] = endTime; para[1] = starttime; ....
SqlParameter[] para = new SqlParameter[] { new SqlParameter("endTime",SqlDbType.DateTime), new SqlParameter("startTime",SqlDbType.DateTime), new SqlParameter("price",SqlDbType.Varchar), new SqlParameter("brach",SqlDbType.Varchar), new SqlParameter("state",SqlDbType.Int) }; para[0] = endTime; para[1] = starttime; ....
SELECT COUNT(*) FROM I_异常情况_异常情况提报 WHERE InstanceCreatedTime >='07/01/2012' and InstanceCreatedTime<='07/08/2012'
完全可以执行,不知道怎么回事,放进存储过程中就出错。
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@endTime",SqlDbType.DateTime),
new SqlParameter("@startTime",SqlDbType.DateTime),
new SqlParameter("@price",SqlDbType.Varchar),
new SqlParameter("@brach",SqlDbType.Varchar),
new SqlParameter("@state",SqlDbType.Int)
};
para[0] = endTime;
para[1] = starttime;
....
{
new SqlParameter("endTime",SqlDbType.DateTime),
new SqlParameter("startTime",SqlDbType.DateTime),
new SqlParameter("price",SqlDbType.Varchar),
new SqlParameter("brach",SqlDbType.Varchar),
new SqlParameter("state",SqlDbType.Int)
};
para[0] = endTime;
para[1] = starttime;
....