SQL语句:
String sql = "select top ? * from bbs_posts where p_fid=? order by p_addtime desc";
prepStmt = conn.prepareStatement(sql);
prepStmt.setInt(1, xxx);
prepStmt.setInt(2, xx);
prepStmt.executeQuery()
预编译:
Exception:
java.sql.SQLException: '@P0' 附近有语法错误。
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:777)
at yixun.wap.db.DBConnection.executeQuery(DBConnection.java:41)
at yixun.wap.bbs.dao.ForumDAO.get500WANforum(ForumDAO.java:282)
at yixun.wap.bbs.BbsCache.get500WANforumCache(BbsCache.java:91)
at yixun.wap.bbs.service.ForumBO.get500WANforum(ForumBO.java:143)
at _jsp._page._bbs._space._second__jsp._jspService(_second__jsp.java:83)
原因:sql不支持为select top ? 预编译,换成动态拼接
String sql = "select top %s * from bbs_posts where p_fid=? order by p_addtime desc";
sql = String.format(sql, num);
或者是:
String sql = "select top (?) * from bbs_posts where p_fid=? order by p_addtime desc";
prepStmt = conn.prepareStatement(sql);
prepStmt.setInt(1, xxx);
prepStmt.setInt(2, xx);
prepStmt.executeQuery()
分享到:
相关推荐
`SqlServerHelp`类可能包含一个`ExecutePaging()`方法,使用`TOP`和`OFFSET-FETCH`或者`ROW_NUMBER() OVER()` SQL子句实现分页。这种方法可以接收页码和每页记录数作为参数,返回指定页的数据。 6. **配置文件**: ...
### SQL Server 排查 CPU 占用高情况详解 #### 背景介绍 SQL Server 是一款广泛使用的数据库管理系统,在企业级应用中占有重要地位。然而,在实际的应用场景中,可能会遇到诸如 CPU 使用率异常增高、系统响应变慢等...
### SQL Server 2005 T-SQL增强 #### 富有表现力的数据类型 (Richer Data Types) 在SQL Server 2005中,T-SQL得到了显著增强,其中一个重要方面是引入了新的数据类型。这些数据类型更加丰富且灵活,能够更好地支持...
例如:"jdbc:sqlserver://servername:port;databaseName=dbname;user=username;password=password"。 3. **数据库连接**:使用`java.sql.DriverManager.getConnection()`方法建立数据库连接。你需要提供之前创建的...
### SQL Server 中访问 Oracle 返回 1 行数据 #### 问题背景 在企业级应用环境中,经常需要在不同的数据库系统之间进行数据交换或共享。其中一种常见的情形是从 SQL Server 数据库环境中查询 Oracle 数据库的数据...
### SQL Server 数据库实用语法详解 #### 一、存储过程创建与使用 在 SQL Server 数据库管理系统中,存储过程是一种预编译的 SQL 代码集合,它可以被当作一个单独的对象来调用,从而提高应用程序的执行效率并简化...
String strConn="jdbc:sqlserver://localhost:1433;DatabaseName=abc"; conn=DriverManager.getConnection(strConn,"sa","123"); ``` - **`Class.forName`**:加载SQL Server的JDBC驱动。 - **`String strConn`**:...
SQL Server 2005引入了结构化的异常处理机制——`TRY...CATCH`,使得开发者能够更好地控制和管理运行时错误。 **示例代码**: ```sql SET XACT_ABORT ON; -- 打开try功能 BEGIN TRY BEGIN TRAN; INSERT INTO Sys...
5. SQL Server查询行为的差异:例如,在SQL Server 2000中使用 TOP (100) PERCENT 和 ORDER BY 子句的视图查询会按照指定的顺序返回结果,而在SQL Server 2008和SQL Server 2005中,相同的查询可能会随机返回结果。...
本教程将详细讲解如何在C#环境中,结合Sql Server 2005数据库实现`DataGridView`的分页功能。 一、基本概念与原理 1. `DataGridView`: 这是Windows Forms中的一个控件,可以显示二维表格数据,支持数据编辑、排序...
- 使用`TRY...CATCH`结构进行异常处理,编写健壮的T-SQL代码。 - 管理SQL Server的日志文件,包括错误日志和事务日志,确保信息记录与排查。 以上是SQL Server使用中的部分精华技巧,掌握这些知识点能让你在...
在SQL Server 2000中,TOP关键字只能用于返回固定的行数。而在SQL Server 2005中,TOP表达式支持变量,允许动态地指定返回的行数。例如,通过声明一个变量@n并设置其值,然后在TOP(@n)中使用,就可以灵活地获取前n...
在SQL Server面试中,面试官通常会关注应聘者对数据库管理、查询优化、事务处理、安全性、备份恢复以及性能调优等多方面的理解和实践经验。以下是一些可能在面试中涉及的关键知识点: 1. SQL基础: - 数据类型:...
在本案例"case0705_sqlserver_"中,我们主要关注的是使用C#语言与SQL Server数据库进行交互,实现人员信息的管理功能,包括增(添加)、删(删除)、改(修改)和查(查询)等基本操作。SQL Server是一款广泛应用于...
SQL Server常用`TOP`和`ORDER BY`结合实现分页,而Oracle则采用`ROWNUM`配合子查询或`OFFSET-FETCH`语法。转换时,需根据Oracle的分页方式调整代码。 4. **游标与循环** SQL Server的`DECLARE CURSOR`和`FETCH ...
这是一个基于Visual Studio 2005 (VS2005) 和 Microsoft SQL Server 2000 开发的简易新闻发布系统。这个系统的核心目标是提供一个发布和管理新闻内容的平台,适合小型企业或者个人网站使用。下面我们将深入探讨这个...
在描述中提到的"asp.net测试SQLSERVER连接程序"可能是一个简单的Web应用,它包含了一个网页,用户输入连接字符串,然后应用程序尝试连接到指定的SQL Server并显示连接是否成功的状态。这个小程序对于初学者来说是一...
### .NET & VS & SQL Server 编程小技巧经验总结 #### 一、C#编程技巧 ##### EF中视图建模 在使用Entity Framework (EF) 进行数据库建模时,如果需要将数据库中的视图映射到实体类中,可能会遇到一个问题:当视图...
### SQLServer注入攻击知识点 #### 一、SQLServer安全机制与加密技术 **1. SQLServer内置加密技术** - **目的**: SQLServer内置了一系列加密功能,旨在保护敏感数据免受未授权访问。 - **实现**: 当数据存储时会...
Transact-SQL是SQL Server的专有扩展,它不仅包含了标准SQL的功能,还引入了额外的特性,如变量、流程控制结构和异常处理机制。理解Transact-SQL的语法约定对于编写高效、安全的数据库应用程序至关重要。 - **...