SELECT TOP 25 * FROM C_Work_Object WHERE (obj_id NOT IN (SELECT TOP 0 obj_id FROM C_Work_Object Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00' ORDER BY obj_id DESC) Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00' ORDER BY obj_id DESC) 跟踪时提示Obj_dotime 附近有语法错误,大狭们指点一下啊??
TOP 0 这样会有记录吗,如果有按下面写试试
TOP 0 obj_id FROM C_Work_Object where Obj_dotime
SELECT TOP 25 * FROM C_Work_Object WHERE (obj_id NOT IN
(SELECT TOP 0 obj_id FROM C_Work_Object where Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00' ORDER BY obj_id DESC) and Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00' ORDER BY obj_id DESC)
跟踪时育出现对象名 'C_Work_Object' 无效,小弟对子查询不是很熟悉,怎么修改啊?
and Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00' ORDER BY obj_id DESC
FROM C_Work_Object
WHERE (
obj_id NOT IN (
SELECT TOP 0 obj_id
FROM C_Work_Object
where Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00'
ORDER BY obj_id DESC
)
Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00'
)
ORDER BY obj_id DESC
大狭们能不能认真的看一下啊,还是同样的错误啊,对象名 'C_Work_Object' 无效????
FROM C_Work_Object
WHERE (
obj_id NOT IN (
SELECT TOP 0 obj_id
FROM C_Work_Object
where Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00'
)
Obj_dotime between '2005-10-1 0:00:00' and '2006-10-1 0:00:00'
)
ORDER BY obj_id DESC子查询不需要order by 呵呵
你就先单独执行下面这两句SELECT distinct TOP 25 * FROM C_Work_Object SELECT TOP 0 Obj_id FROM C_Work_Object where Obj_dotime between '2005-2-1 0:00:00' and '2008-12-30 0:00:00' ORDER BY Obj_id DESC 看是不是会报错
跟踪时出现对象名 'C_Work_Object' 无效
为了实现上面的功能,C#代码如下:
StringBuilder StrSql = new StringBuilder();
StringBuilder strSql = new StringBuilder();
StrSql.AppendFormat("SELECT distinct TOP {0} * FROM C_Work_Object WHERE ", Record_Per_Page.ToString());
StrSql.AppendFormat("( Obj_id NOT IN (SELECT TOP {0} Obj_id FROM C_Work_Object", (Record_Per_Page * (nPage - 1)).ToString());
if (timeStart != DateTime.MinValue || timeEnd != DateTime.MinValue)
{
StrSql.Append(" where ");
if (timeStart == DateTime.MinValue)
{
StrSql.AppendFormat(" Obj_dotime < '{0}'", timeEnd.ToString());
strSql.AppendFormat(" Obj_dotime < '{0}'", timeEnd.ToString());
}
else if (timeEnd == DateTime.MinValue)
{
StrSql.AppendFormat(" Obj_dotime > '{0}'", timeStart.ToString());
strSql.AppendFormat(" Obj_dotime > '{0}'", timeStart.ToString());
}
else
{
StrSql.AppendFormat(" Obj_dotime between '{0}' and '{1}'", timeStart.ToString(), timeEnd.ToString());
strSql.AppendFormat(" Obj_dotime between '{0}' and '{1}'", timeStart.ToString(), timeEnd.ToString());
}
}
StrSql.Append(" ORDER BY Obj_id DESC ))");
strSql.Append(" ORDER BY Obj_id DESC ");
pdperson = pd.GetObjectBySql(StrSql.ToString()+ strSql.ToString());
运行时出现了'Obj_dotime' 附近有语法错误,还望大狭慢帮改正一下啊???