最近一段时间做的这个项目用的是Sybase,用到了Sybase分页。在网上找了许多,Sybase分页都是用临时表来做的。最后找到了一个存储过程,不过这个存储过程如果直接用有一些问题,所以改了一下。还有就是Sybase存储过程在和java一起用时有几个参数要设置一下。在这都做了说明,下面写把这个存储过程拿出来
create procedure dbo.getPageWiseData
(
@sqlStr varchar(8000),
@start int,
@limit int
)
as
DECLARE @dt varchar(10)
BEGIN
--# variable to hold the first row number of the page.
SELECT @dt= substring(convert(varchar, rand()), 3, 10)
SELECT @sqlStr = stuff(@sqlStr, 1, 7, 'select rownum=identity(12), ')
SELECT @sqlStr = stuff(@sqlStr, charindex(' FROM ', upper(@sqlStr)), 6 ,' into tempdb..Lining' + @dt + ' from ')
commit
execute (@sqlStr)
--# select the data with the calculated range for first and last row on page.
select @sqlStr = 'select * from tempdb..Lining' + @dt + ' where rownum > '+convert(varchar, @start)+' and rownum <= '+convert(varchar, (@start+@limit))
execute (@sqlStr)
SELECT @sqlStr = 'DROP TABLE tempdb..Lining'+@dt
EXECUTE (@sqlStr)
END
然后是设置参数,否则在java中会报错。
sp_procxmode getPageWiseData,'anymode'//对存储过程设置事务模式为anymode
use master
exec dbo.sp_dboption tempdb, 'ddl in tran', true, null//设置tempdb的ddl in tran参数为true
exec dbo.sp_dboption tempdb, 'allow nulls by default', true, null//设置tempdb的allow nulls by default参数为true
以上就是在java中调用sybase存储过程需要设置的参数。
分享到:
相关推荐
Java中的分页实现通常有两种方法:一种是使用存储过程,另一种是使用纯Java代码。这里我们讨论的是后者,因为它更灵活且无需额外的数据库对象。使用Java代码实现分页的关键在于维护一个游标(cursor)和一个缓存...
更优的解决方案是使用`ROW_NUMBER()`窗口函数或数据库特定的分页方法,如Sybase的`TOP`和`ORDER BY`结合使用。 5. **代码分页**:除了在SQL层面进行分页,还可以在应用程序代码中实现分页逻辑。这通常涉及到在获取...
本文将深入探讨“独立的跨数据库的分页”这一主题,结合Java编程语言,阐述如何实现对Oracle、Sybase、SQL Server、MySQL等不同数据库系统的通用分页查询。 首先,我们需要理解什么是分页。分页是一种将大量数据...
本文详细介绍了如何使用JavaBean结合JSP实现数据库的分页功能。通过定义一个专门的JavaBean类来封装分页逻辑,可以使整个应用程序更加模块化和易于维护。此外,结合JSP页面和JDBC技术,可以方便地实现动态的分页数据...
JDBC是Java访问数据库的标准接口,适用于Sybase ASE的Java开发。 4.1 中文支持 在使用JDBC处理中文数据时,需确保字符集设置正确,从数据库到应用程序的整个链路都要支持相同的字符编码。 4.2 连接属性 DYNAMIC_...
通过使用jConnect-6_0,开发者可以轻松地在Java应用中实现对Sybase数据库的访问,进行数据的增删改查操作,构建高效的数据驱动型应用。同时,其强大的特性和稳定性使得它成为企业级Java开发的可靠选择。
在IT行业中,数据库连接是应用程序开发的基础,而Jtds.jar正是一个轻量级的Java驱动程序,专门用于连接Microsoft SQL Server和Sybase ASE数据库。本文将深入探讨如何使用Jtds.jar进行数据库连接,以及它的一些核心...
常见的数据库产品有Oracle、SQL Server、DB2、Sybase、Informix、MySQL、hsqldb、InterBase等,以及更贴近个人用户级别的Foxpro、Access和Excel。 数据库对象是数据库中的基本元素,如表(table)、字段(column)...
1. **JDBC Application**:这是使用JDBC API编写的应用程序,它调用JDBC接口方法来执行数据库操作。 2. **JDBC Driver**:JDBC驱动程序是连接应用程序和数据库的桥梁,有四种类型: - **Type 1 Driver( JDBC-ODBC ...
### JDBC连接各种数据库的知识点...此外,还需要注意的是,在实际应用中,为了提高性能和安全性,建议使用`PreparedStatement`而不是普通的`Statement`来执行SQL语句,并且在处理大型数据集时合理利用分页查询等技术。
标题“sql_anywhere_hibernate”涉及的是在Java的Hibernate框架中使用SQL Anywhere数据库的相关内容。Hibernate是一个强大的ORM(对象关系映射)工具,它允许开发者以面向对象的方式来操作数据库,而无需直接编写SQL...
我们完全自定义tab控件提供了相似页面中便捷的分页方法,以及改良的,容易定制的特性。可以通过鼠标点击或鼠标按下事件来改变Tab。然后这些事件将tab所在的面板置前。 每一个页面以及其tab具有其自己单独的前景色和...
dbking是一款基于Java的数据库处理工具集,主要包括三项主要内容: 1、为各类数据库提供统一的操作接口,尽最大可能保障各类数据库之间的移植性 2、通过生成器创建BO类及DAO层代码 3、为各类数据库之间...
5. **JAVA中Wait()和notify()的使用**:这两个方法用于线程间通信,wait()让当前线程等待,直到被其他线程调用notify()或notifyAll()唤醒;notify()仅唤醒一个等待的线程,notifyAll()唤醒所有等待的线程。 6. **...
根据提供的文档内容,我们可以总结出一系列重要的IT知识点及相关解析: ### 1. C语言循环控制结构 **题目:** 有以下程序段: ```c main() { int k = 0; while (k = 1) k++; } ``` **解析:** 此程序中的`while (k ...
- **LIMIT关键字**:在MySQL中,要实现类似分页的功能,可以使用`LIMIT`关键字。`LIMIT`后面可以跟一个数字表示返回的结果数量,或者跟两个数字,第一个数字表示偏移量,第二个数字表示返回的结果数量。 - **ORDER ...
- JDBC:Java Database Connectivity,用于Java应用程序连接Oracle数据库的标准API。 - 连接配置:包括设置网络服务名、监听端口等,确保客户端能够顺利连接至服务端。 #### 四、Oracle基础知识 - **数据库对象*...
1. 计算机编程中的四舍五入函数:在给出的选项中,`Math.round(6.25)`是正确的选择,它表示使用Java的Math类的round方法将6.25四舍五入为最接近的整数,即6。 2. 字段属性的理解:字段属性在数据库管理中至关重要。...
sybase_iq 支持15.4以上版本,建议使用16版本 elasticsearch 只支持查询,版本支持5.7+版本,建议使用7.3以上版本 clickhouse mongodb (只支持查询) sqltoy-orm特性: 1、根本上杜绝了sql注入问题,sql支持写注释、...
而JSP的组件是用Java开发的,可以直接使用; 4、一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括Write once , Run everywhere. 3.2. 数据库的选择 3.2.1. Web应用程序开发环境—SQL...