本来我用的数据库是sql2005,我做分页用的,后来改成Access就不能用了,原sql语句是这样的: string sql="SELECT top " + row + " * from article where id not in (select top " + ((paper-1) * row + 1) + " id from article where kind='"+kind+"') and kind='" + kind + "'";
SELECT TOP 5 * FROM YourTableName Order By FieldName
不行就是程序报错了,我直接在Access里写 select top 0 id from article 报的错和程序的错事一样的!不能查询。要怎么改呢
把 这个 (paper-1) * row + 1 拿出来放在 程序中算,然后 赋值 用变量 放在语句中。---------------var num = (paper-1) * row + 1 ;string sql="SELECT top " + row + " * from article where id not in (select top " + num + " id from article where kind='"+kind+"') and kind='" + kind + "'";
select top 0 id from article 本来就查不到结果吧
分页在2005中是特有的,2000和access都没有
其实我就是想知道这句select top 0 id from article在Access数据库里要怎么改才能产生同样的效果! 就像string sql="SELECT top " + row + " * from article where id not in (select top " + ((paper-1) * row ) + " id from article where kind='"+kind+"') and kind='" + kind + "'";分页用的查询数据 以前在sql2005里好好的。
在ACCESS中执行 select top 5 * from admin order by name desc 时,如果name值不是惟一的,那么,查询的结果有可能多于5条(name值有重复时)。 原因是ACCESS使用的是啥J-SQL语句,而不是T-SQL语句。因此,在这点上就和SQL中使用有区别了。 避免它的出现的方法就是给表admin加上一个标识惟一的字段,比如自动增长的identity字段,然后 select top 5 * from admin order by name,id desc学习了。。
select top 0 from 表名 更改成: select top 0 * from 表名应该就可以了。
如果只是想要一个“要的效果就是查不到”的结果集, 你可以: select top 1 * from 表名 where rq="1900-01-01 00:00" 把rq字段换成该表中的某个字段,而该表达式条件返回的数据集行数肯定是0就行
看這個是不是你想要的
select * from TAB WHERE 0=1
http://www.cnblogs.com/mcjeremy/archive/2008/05/29/1209846.html
select top 0 * from 表名
string sql="SELECT top " + row + " * from article where id not in (select top " + ((paper-1) * row + 1) + " id from article where kind='"+kind+"') and kind='" + kind + "'";
本来就查不到结果吧
就像string sql="SELECT top " + row + " * from article where id not in (select top " + ((paper-1) * row ) + " id from article where kind='"+kind+"') and kind='" + kind + "'";分页用的查询数据
以前在sql2005里好好的。
唯一的问题就是那句在Access中不能用。就好像iif在Access中能用但是在sqlserver中不能用,一个道理。
select top 5 * from admin order by name desc
时,如果name值不是惟一的,那么,查询的结果有可能多于5条(name值有重复时)。
原因是ACCESS使用的是啥J-SQL语句,而不是T-SQL语句。因此,在这点上就和SQL中使用有区别了。
避免它的出现的方法就是给表admin加上一个标识惟一的字段,比如自动增长的identity字段,然后
select top 5 * from admin order by name,id desc学习了。。
select top 0 from 表名
更改成:
select top 0 * from 表名应该就可以了。
你可以:
select top 1 * from 表名 where rq="1900-01-01 00:00"
把rq字段换成该表中的某个字段,而该表达式条件返回的数据集行数肯定是0就行