-
用jdbc怎么得到sql server 2000中表的主键3
最近在学习jdbc,发现在用jdbc在sql server 2000中想要获得刚插入的数据主键时总提示如下异常:
Exception in thread "main" java.lang.AbstractMethodError: com.microsoft.jdbc.sqlserver.SQLServerConnection.prepareStatement(Ljava/lang/String;I)Ljava/sql/PreparedStatement;public String getPrimaryKey(){ Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; Users users = null; String primaryKey = null; try { conn = SinglJdbcUtil.getIntance().getConnection(); conn.setAutoCommit(false); String sql = "insert into tmp (columnz) " + "values( ? )" ; ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.setString(1, "XKGS_000016"); ps.executeUpdate(); rs = ps.getGeneratedKeys(); while(rs.next()){ primaryKey = rs.getString(1); } } catch (SQLException e) { e.printStackTrace(); }finally{ SinglJdbcUtil.getIntance().free(rs, ps, conn); } return primaryKey; }
表就长着模样 create table tmp(ids int IDENTITY , columnz varchar(20) constraint pk_ids primary key (ids) )
请问我要怎么修正代码才能得到在用jdbc,进行insert时的那条数据的主键啊
问题补充:我指的是使用jdbc获取刚插入的数据的主键,不通过任何数据库的方式;jdbc提供了这样一个东西Statement.RETURN_GENERATED_KEYS,我就是在使用时出了问题2010年11月26日 16:46
3个答案 按时间排序 按投票排序
-
如果你调用jdbc提供的这个方法报错的话,如果还是用纯jdbc我觉得只有这样做了。
首先为了确保获得的主键是对应当前用户的,执行插入操作的时候事务上锁,然后调用@@identity 全局函数,获得最后插入的主键。
不过这样貌似性能降低了很多。2010年11月27日 01:33
-
插入后返回的主键值这样获取:
INSERT INTO tableName (fieldname ...) values (value ...) SELECT @@IDENTITY AS returnName; 在sql语句中加入SELECT @@IDENTITY AS returnName;用来获取主键的值 在程序中获取返回值:
public int sqlexecutereader(string sql){
DBopen();
SqlCommand myComm = new SqlCommand(sql, Connection);
int newID = Convert.ToInt32(myComm.ExecuteScalar());
DBclose();
return newID;
}
2010年11月26日 17:12
相关推荐
3. **数据库设计**:在SQL Server 2000中,通常会设计几个核心表,如用户表(user)用于存储用户信息,商品表(product)存储商品详情,分类表(category)定义不同类型的供求信息。此外,还可能存在其他辅助表,如订单...
String url = "jdbc:sqlserver://服务器地址:端口号;databaseName=数据库名"; String username = "用户名"; String password = "密码"; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")...
1. **数据库设计**:在SQL Server 2000中,理解关系数据库模型至关重要。包括实体关系模型(ER模型)、范式理论(1NF, 2NF, 3NF等),以及如何通过设计表结构、定义主键、外键来确保数据的一致性和完整性。 2. **...
4. **数据访问**:使用JDBC(Java Database Connectivity)API连接SQLServer2000数据库,执行SQL语句进行增删改查操作。例如,通过PreparedStatement预编译SQL语句,防止SQL注入攻击。 SQLServer2000作为后台数据库...
在本课程设计中,我们将深入探讨如何利用SQL Server数据库系统和Java编程语言来构建一个学生信息管理系统。这个项目旨在帮助学生掌握SQL Server的基本操作以及Java与数据库交互的技能,为今后的实际开发工作打下坚实...
在SQL Server 2000中,这涉及表的创建、字段定义、主键和外键约束、索引设计等。良好的数据库设计可以避免数据冗余,保证数据一致性,并优化查询性能。 10. **故障排查与监控** SQL Server 2000提供了一系列工具,...
SQL Server 2000支持与各种应用程序和服务的集成,如ASP.NET、XML、ODBC/JDBC等,学习如何在这些环境中部署和使用SQL Server。 通过深入学习SQL Server 2000,你将具备构建和管理高效、安全的企业级数据库系统的...
本教程旨在帮助学习者深入理解数据的基本概念,并熟悉SQL Server的基本操作,包括数据库、表的创建,以及T-SQL语言的使用,为后续的Java、.NET数据库开发奠定坚实的基础。 首先,我们从数据的基本概念开始。数据是...
【标题】"jsp留言板,sqlserver2000"是一个基于Java Server Pages(JSP)技术的简单留言板应用,它需要与SQL Server 2000数据库配合使用。JSP是一种动态网页开发技术,允许开发者在HTML代码中嵌入Java代码,以便...
这个文件定义了数据库连接参数,例如数据库URL("jdbc:sqlserver://localhost:1433; DatabaseName=test"),用户名("sa"),密码("518168"),驱动类("com.microsoft.sqlserver.jdbc.SQLServerDriver"),以及...
2. 数据库结构转换:工具会分析SQL Server的表结构,包括字段名、数据类型、约束(如主键、外键)、索引等,并将这些信息转换为SQLite兼容的格式。 3. 数据迁移:在结构转换完成后,工具会将SQL Server中的数据导出...
9. **程序开发接口**:介绍如何使用T-SQL进行编程,以及使用ADO.NET、ODBC、JDBC等接口与SQL Server交互。 配合源码部分,学习者可以实际动手操作,理解如何在项目中应用上述知识。源码涵盖了不同的应用场景,例如...
在“数据库SQLserver+java课程设计”中,我们主要探讨的是如何使用SQL Server数据库与Java编程语言协同工作,构建一个学生信息管理系统。这个系统能够帮助管理和处理学生的基本信息,包括添加、删除、修改和查询等...
在IT行业中,数据库管理和数据查询优化是至关重要的环节。MyBatis、Spring和SQL Server、MySQL这...在提供的压缩包文件“sqlserver分页”中,可能包含的是针对SQL Server分页查询的示例代码或配置,供开发者参考学习。
在《21天学通SQL Server》这本书中,学习者会遇到各种习题来巩固对SQL Server的理解。以下是对部分习题答案的解析,旨在帮助读者深入理解SQL Server的关键概念和功能。 第一章主要介绍了数据库的基本概念,包括关系...
3. **数据库连接**: 要使Java程序能与SQLServer通信,我们需要使用JDBC(Java Database Connectivity)API。JDBC是一个Java接口,它允许Java应用程序通过Java代码来访问各种类型的数据库。开发者需要编写代码来建立...
在本项目中,"SQLServer课程设计-论坛管理系统"是一个基于SQL Server数据库技术与Java编程实现的课程设计项目。这个项目旨在让学生在学习SQL Server之后,能够将其理论知识转化为实际应用,通过构建一个论坛管理系统...
【JSP简单留言本(SQLserver2000版)】是一个适合初学者研究和实践的Web应用程序,它演示了如何使用JSP(JavaServer Pages)技术与SQL Server 2000数据库进行交互,创建一个基本的在线留言功能。这个例子原本是基于...
【标题】:Java sqlserver 一个简单的教务管理系统 这个项目是使用Java编程语言与Microsoft SQL Server数据库构建的教务管理系统的实现。它提供了一个基础的框架,用于管理和操作教育机构的日常教学活动数据,例如...