文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程PHPSQL jdbc解决自动自动增长列统一处理问题纪实
精品推荐
特别推荐
·菜鸟学PHP之Smarty入门
·PHP环境安全配置教程
·PHP入门指导:如何学习PHP?
·Php+Mysql注入专题
·PHP:实现给上传图片加水印的程序代码
·PHP动态网站开发中常用的8个小技巧
·PHP初学者:配置Apache服务器并且设置DNS
·初学PHP指导:php.ini 配置详细选项
·好文分享:PHP入门的学习方法
·急速搭建属于自己的Discuz!6论坛
·PHP入门:初学来看配置文件PHP.INI的中文注释
·php.ini配置,php.ini 中的 php-5.2.0 配置指令详解
·总结:一些PHP学习过程中的心得和经验
·新手入门:JSP初学者必须掌握的语法点
·PHP技巧:PHP脚本编程中的文件系统函数库
·详细讲解PHP编程中分页显示的制作
·成为PHP编程高手应该遵循的三个准则
·谈谈生成静态页面的一些经验
·新手入门:详细解述七个软件开发的原则
·简单的webservice开发例子
热点TOP10
·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
·Windows XP下PHP+MySQL环境搭建
·JDBC连接Oracle数据库常见问题及解决方法
·简单的webservice开发例子
·MyEclipse+struts+Hibernate配置开发
·Php+Mysql注入专题
·菜鸟学PHP之Smarty入门
·php:树形结构的算法
·彻底解决中文名文件下载和下载文件内容乱码问题
·PHP 会话 (Session) 使用入门
·跟我来学PHP5:session会话的使用和分析
·急速搭建属于自己的Discuz!6论坛
·解决tomcat频繁死掉的问题
·学习教程:Java Annotation 高级应用
·表单验证类 Validator for PHP
·解密ZEND加密后的PHP
·用PHP模拟登陆
·用PHP实现多级树型菜单
·动态网页制作学习:PHP预定义变量
·PHP+Access设计留言版实战

SQL jdbc解决自动自动增长列统一处理问题纪实

日期:2007年7月8日 作者: 查看:[大字体 中字体 小字体]


sql server2005 jdbc解决自动自动增长列统一处理问题纪实

作者fbysss
msn:jameslastchina@hotmail.com 
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:自动增长列,jdbc,sqlserver2005

背景:系统要支持多种数据库,统一insert的时候获取自动增长列的处理方式
问题1:insert+select方案
sqlserver2000可以使用insertSql  + SELECT @@IDENTITY AS 'Identity'的方式来获得,
但是mysql则只能使用executeUpdate(insertSql); executeQuery('SELECT last_insert_id() ')这样的方式,否则会抛出异常:java.sql.SQLException: Can not issue data manipulation statements with executeQuery()
而两句话分开处理,总让人感觉不放心,如果并发操作比较多,存在潜在的危险
问题2:getGeneratedKeys方案
mysql的驱动支持jdbc3.0,实现了getGeneratedKeys()
但sqlserver2000 jdbc驱动不支持getGeneratedKeys()
解决思路:
google了一下,据说2005是支持的,所以下下来看看
下载地址:url:http://download.microsoft.com/download/2/8/9/289dd6a3-eeeb-46dc-9045-d0c6b59bfbc1/sqljdbc_1.1.1501.101_chs.exe
使用小结:
1.2005jdbc驱动是支持jdbc 3.0 的。也就是说,的确支持getGeneratedKeys()方法。
2.2005jdbc驱动url和包组织变动较大。
举例对比:(请仔细看好了,一不小心看不出差别!)
================
2000
================
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb;SelectMethod=cursor"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
================
2005
================
url="jdbc:sqlserver://localhost:1433;DatabaseName=mydb;SelectMethod=cursor"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
如果没注意这点,必将出现异常:Cannot load JDBC driver class'com.microsoft.jdbc.sqlserver.SQLServerDriver'
做好第二步,出现
3.包的位置:环境变量CLASSPATH不是必须的。但sqljdbc.jar必须放置在tomcat/common/lib中(如果是租用空间,可能得跟对方商量了,看是否支持2005的驱动)。
否则会发生异常:Cannot load JDBC driver class'com.microsoft.sqlserver.jdbc.SQLServerDriver'

测试示例方法:

    public  String executeUpdate(String sql) throws    SQLException ...{
        Connection conn = getConnection();
        PreparedStatement pstmt = null;
        try ...{
            /**//*注意:jdbc3.0提供了Statement.RETURN_GENERATED_KEYS"用来指明需要从Statement中获得自动增长列值,
            如果不设置该参数,在执行getGeneratedKeys()时会抛出异常:"只有运行该语句,生成的键才会可用。"*/
            pstmt = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);

[1] [2] 下一页 




上一篇:经验:教你逐步配置J2EE来完全支持MySQL

下一篇:JSP中与标签要用不同的方式获得数据库中的数据

SQL jdbc解决自动自动增长列统一处理问题纪实 相关文章:
·XP系统运行慢?小编自用7招解决
·不用重装XP系统就可以解决全部故障
·全面解决Generic host process for win32 services遇到问题需要关闭
·中小企业整体网络安全解决方案解析
·开机提示reboot and select proper boot device or insert boot Media in selected boot device的解决
·笔记本电脑无线上网解决方案大比拼
·QQ空间自动刷留言板代码
·解决与HTTP 500 – 内部服务器错误错误信息有关的问题
·网络拓扑图--解决方案
·安装IIS后出现500错误的解决办法
SQL jdbc解决自动自动增长列统一处理问题纪实 相关软件:
·超级自动注册申请王 V3.0
·困难时期农村整社纪实
·中苏关系内幕纪实
·GHOST全自动备份还原系统光盘V3.0
·建筑工程施工质量验收统一标准GB50300-2001
·『统一网关V0.96 让你的网速提高10倍』强烈推荐
·《房屋建筑制图统一标准》GB_T 50001-2001
·跟单信用证统一惯例 UCP500_中文版
·世界伟大考古纪实系列报导
·统一驾照模拟考试系统v3.0 驾校版 + 注册机

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot