GVKun编程网logo

SQL中的OFFSET和FETCH NEXT:返回的记录数不能少于限制(sql返回记录条数)

5

对于SQL中的OFFSET和FETCHNEXT:返回的记录数不能少于限制感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解sql返回记录条数,并且为您提供关于''OFFSET''附近有语法错误

对于SQL中的OFFSET和FETCH NEXT:返回的记录数不能少于限制感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解sql返回记录条数,并且为您提供关于''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。、''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。(转载)、Alibaba druid不支持sql server 的OFFSET FETCH函数吗、clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y ,offsetTop,offsetLeft 详解的宝贵知识。

本文目录一览:

SQL中的OFFSET和FETCH NEXT:返回的记录数不能少于限制(sql返回记录条数)

SQL中的OFFSET和FETCH NEXT:返回的记录数不能少于限制(sql返回记录条数)

如果您的表中任何行的where过滤器都不为真,则无论您限制了多少取回,都不会返回任何行。

''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

在使用asp.net core的时候,采用take().skip()分页的时候报如下错误:
SqlException: ''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
这个主要是在sql server 2008中,不支持FETCH和NEXT语句(sql server 2012才支持)。
之后在网上参考了一下其他的文章,最终解决了这个问题,记录一下,方便后来人。
解决方法:

public static class DbContextOptionsBuilderExtensions
{
/// <summary>
/// SQL Server specific extension method for Microsoft.EntityFrameworkCore.DbContextOptionsBuilder
/// </summary>
/// <param name="optionsBuilder">Database context options builder</param>
/// <param name="services">Collection of service descriptors</param>
public static void UseSqlServerWithLazyLoading(this DbContextOptionsBuilder optionsBuilder, IServiceCollection services)
{
var nopConfig = services.BuildServiceProvider().GetRequiredService<NopConfig>();

var dataSettings = DataSettingsManager.LoadSettings();
if (!dataSettings?.IsValid ?? true)
return;

var dbContextOptionsBuilder = optionsBuilder.UseLazyLoadingProxies();
//''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
//在使用asp.net core的时候,采用take().skip()分页的时候报如下错误:SqlException: ''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。这个主要是在sql server 2008中,不支持FETCH和NEXT语句(sql server 2012才支持)。
nopConfig.UseRowNumberForPaging = true;
if (nopConfig.UseRowNumberForPaging)
dbContextOptionsBuilder.UseSqlServer(dataSettings.DataConnectionString, option => option.UseRowNumberForPaging());
else
dbContextOptionsBuilder.UseSqlServer(dataSettings.DataConnectionString);
}
}

''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。(转载)

''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。(转载)

''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

最近在使用asp.net core的时候,采用take().skip()分页的时候报如下错误:
SqlException: ''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
这个主要是在sql server 2008中,不支持FETCH和NEXT语句(sql server 2012才支持)。
之后在网上参考了一下其他的文章,最终解决了这个问题,记录一下,方便后来人。
解决方法:
修改“StartUp.cs”文件,具体代码截图如下:
1.普通修改方式
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
 
var connection = @"Data Source=tcp:111.111.111.111,1044;
Initial Catalog=xxx;Persist Security Info=True;User ID=xxxx;Password=xxxxx";
services.AddDbContext<NoteContext>(options => options.UseSqlServer(connection,b=>b.UseRowNumberForPaging()));
 
services.AddScoped<Repository.INoteRepository,Repository.NoteRepository>();
services.AddScoped<Repository.INoteTypeRepository, Repository.NoteTypeRepository>();
}
 
2.abp修改方式
public static class DbContextOptionsConfigurer
{
public static void Configure(
DbContextOptionsBuilder<SSODbContext> dbContextOptions,
string connectionString
)
{
/* This is the single point to configure DbContextOptions for testDbContext */
dbContextOptions.UseSqlServer(connectionString ,b => b.UseRowNumberForPaging());
}
}

Alibaba druid不支持sql server 的OFFSET FETCH函数吗

Alibaba druid不支持sql server 的OFFSET FETCH函数吗

最近将之前的mysql项目移植到sql server 版本,使用的是alibaba的druid连接池。做一个分页的时候使用到了

OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY

的写法,控制台一直报 com.alibaba.druid.sql.parser.ParserException  sql解析错误,但是报错的语句在sql server命令行是没有问题可以执行的。网上说有些druid的版本不支持这种写法。这里提供下我的版本

druid 1.0.12

sql server 2014

有没有这方面的朋友帮忙解答一下

clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y ,offsetTop,offsetLeft 详解

clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y ,offsetTop,offsetLeft 详解

clientX/Y:

clientX/Y获取到的是触发点相对浏览器可视区域左上角距离,不随页面滚动而改变

兼容性:所有浏览器均支持

pageX/Y:

pageX/Y获取到的是触发点相对文档区域左上角距离,会随着页面滚动而改变

兼容性:除IE6/7/8不支持外,其余浏览器均支持

offsetX/Y:

offsetX/Y获取到是触发点相对被触发dom的左上角距离,不过左上角基准点在不同浏览器中有区别,其中在IE中以内容区左上角为基准点不包括边框,如果触发点在边框上会返回负值,而chrome中以边框左上角为基准点。

兼容性:IE所有版本,chrome,Safari均完美支持,Firefox不支持

 layerX/Y:

layerX/Y获取到的是触发点相对被触发dom左上角的距离,数值与offsetX/Y相同,这个变量就是firefox用来替代offsetX/Y的,基准点为边框左上角,但是有个条件就是,被触发的dom需要设置为position:relative或者position:absolute,否则会返回相对html文档区域左上角的距离

兼容性:IE6/7/8不支持,opera不支持,IE9/10和Chrome、Safari均支持

screenX/Y:

screenX/Y获取到的是触发点相对显示器屏幕左上角的距离,不随页面滚动而改变

兼容性:所有浏览器均支持

拖拽小例子

<style>   
    #div1 {
        width: 100px;
        height: 100px;
        background: red;
        position: absolute;
    }
</style>
<div id="div1"></div>
<script>
    var oDiv1 = document.getElementById("div1");
    oDiv1.onmousedown = function(event) {
        var disX = event.clientX - oDiv1.offsetLeft;
        var disY = event.clientY - oDiv1.offsetTop;
        document.onmousemove = function(event) {
            oDiv1.style.left = event.clientX - disX + "px";
            oDiv1.style.top = event.clientY - disY + "px";
        }
        document.onmouseup = function() {
            document.onmousemove = null;
            document.onmouseup = null;
        }
    }
</script>

 

obj.clientWidth   //元素的宽度(可视区的宽度)不包含border     只读属性

obj.clientHeight  //元素的高度(可视区的高度度)不包含border  只读属性

obj.offsetLeft   //元素相对于父元素的left  只读属性,也就是margin-left的值,不含单位

obj.offsetTop  //元素相对于父元素的top   只读属性,也就是margin-top的值,不含单位

obj.offsetWidth  //元素的宽度(实际的宽度)包含border   只读属性

obj.offsetHeight //元素的高度(实际的宽度)包含border   只读属性

区别:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = width + padding + border
offset比client多了border的宽度

 

obj.scrollLeft    是父元素在滚动,就像页面内容把body撑开了出现滚动条,我们是在滚动body的滚动条,而不是滚动内容

无缝滚动小例子

<style>

#div1 {
  width: 363px;
  overflow: hidden;
}
</style>
<div id="div1">
  <img src="http://457375608.github.io/public/images/test01.jpg" alt="">
</div>
<script>
var oDiv1 = document.getElementById("div1");
setInterval(function() {
  if (oDiv1.scrollLeft >= oDiv1.offsetWidth) {
    oDiv1.scrollLeft = 0
  } else {
    oDiv1.scrollLeft++
  }
}, 30)
</script>

无缝滚动代码,注意是oDiv0在滚动,当滚动的距离大于自身的宽度是让它重新滚动以达到无缝滚动的目的
利用left也可做无缝滚动
<style>
    #div1 {
        width: 363px;
        height:100px;
        overflow: hidden;
        position: relative;
    }
    #div1 img{
        width:726px;
        height:100px;
        position: absolute;
        top:0;
        left:0;
    }
</style>
<div id="div1">
    <img src="http://457375608.github.io/public/images/test01.jpg" alt="">
</div>
<script>
    var oDiv1 = document.getElementById("div1");
    var oImg1 = oDiv1.getElementsByTagName(''img'')[0];
    oImg1.num=0
    setInterval(function() {
        oImg1.num--;
        if (parseInt(oImg1.style.left) <= -oDiv1.offsetWidth) {
            oImg1.style.left =oImg1.num= 0
        } else {
            oImg1.style.left=oImg1.num+"px"
        }
    }, 30)
</script>

 

我们今天的关于SQL中的OFFSET和FETCH NEXT:返回的记录数不能少于限制sql返回记录条数的分享就到这里,谢谢您的阅读,如果想了解更多关于''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。、''OFFSET'' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。(转载)、Alibaba druid不支持sql server 的OFFSET FETCH函数吗、clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y ,offsetTop,offsetLeft 详解的相关信息,可以在本站进行搜索。

本文标签: