使用SQLServer2005插入一条数据时返回当前插入数据的ID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用SQLServer2005插入一条数据时返回当前插入数据的ID相关的知识,希望对你有一定的参考价值。

当使用SQLServer2005数据库,在C#代码中向数据库插入一行数据,在插入成功以后,返回当前插入行的ID,SQL语句该怎么写?在C#中该如何来取值?具体如下:表:Users字段:id int 自增主键name nvarchar(20) Pwd varchar(20)现在执行insert操作,在执行成功以后返回当前执行insert数据的id

在Insert操作后,进行select 操作 select max(id) from Users 参考技术A insert into 表名 values() SELECT @@IDENTITY AS [id]
取 SqlCommand sc = new SqlCommand(sqlstr);
ID = Convert.ToInt32(sc.ExecuteScalar());

JAVA中用啥方法向SQL server2005中插入一条数据并返回他的主键值

JAVA中用什么方法向SQL server2005中插入一条数据并返回他的主键值

(最基本的连接方法)
1。获取连接
获取连接需要两步,
一是使用DriverManager来注册驱动(Class.forName(“com.mysql.jdbc.Driver”)),二是使用DriverManager来获取Connection对像DriverManager.getConnection(url,username,password)
2.获取Statement(Statement stmt =con.createStatement();)
Statement就是执行sql语句的;

3.执行sql语句
String sql = “insertinto user value(’zhangSan’, ’123’)”;
int m =stmt.executeUpdate(sql);

//总代码如下
publicstatic Connection getConnection() throws Exception
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mydb1";
return DriverManager.getConnection(url, "root", "123");

@Test
publicvoid insert() throws Exception
Connection con = getConnection();
Statement stmt = con.createStatement();
String sql = "insert into user values('zhangSan', '123')";
stmt.executeUpdate(sql);
System.out.println("插入成功!");
参考技术A 首先你要连接到数据库,一般是JDBC连接吧,
这是一个mysql数据库的,只要你改了驱动和链接串就可以了
package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBconn

private String DBDRIVER = "com.mysql.jdbc.Driver" ;
private String DBURL = "jdbc:mysql://192.168.1.105/test" ;
private String DBUSER = "root" ;
private String DBPASSWORD = "cstp" ;
private Connection conn = null ;

public DBconn()
try
Class.forName(DBDRIVER);
this.conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
catch(Exception e)
e.printStackTrace();


public Connection getConnection()
return this.conn;


public void destory()
try
conn.close();
catch (SQLException e)
e.printStackTrace();


参考技术B 插入完成后立马查询最后一条数据返回主键值 参考技术C 用jdbc驱动链接java代码和数据库,就行了 参考技术D 两步分开来,先插入一个值,再查询这个值得主键就ok了,相关代码:
http://blog.csdn.net/basenet855x/article/details/6826731

这儿运用jdbc的excuteBath来解决

以上是关于使用SQLServer2005插入一条数据时返回当前插入数据的ID的主要内容,如果未能解决你的问题,请参考以下文章

sql如何将新产生的guid和一条其他表的数据插入当前表

使用 INSERT INTO (SQL Server 2005) 插入多个值

sqlserver数据库批量插入-SqlBulkCopy

如何在 SQL Server 2005 中进行更新插入(更新或插入)

SQL Server - 由于“ARITHABORT”,插入失败

SQL Server 2005 查询多个Access 数据库?