当前位置:  技术问答>java相关

数据库问题(大家快来帮把手,实在不行,我可以再放100分)

    来源: 互联网  发布时间:2015-05-02

    本文导语:  在java中写数据库: a表:id,name,time,quantity, 向a表中插入一行值,包括了除id外的所有项,要求得到由系统自动填写的这一行的id值,麻烦是后面几项均不唯一,因此无法使用select id where name=**这种方法,而且数据库同...

在java中写数据库:
a表:id,name,time,quantity,
向a表中插入一行值,包括了除id外的所有项,要求得到由系统自动填写的这一行的id值,麻烦是后面几项均不唯一,因此无法使用select id where name=**这种方法,而且数据库同时被多人使用,各位有什么好方法吗?

|
如何获得刚插入数据库的记录的ID号?

1.SQL Server
  对于SQL Server 2000来说,它提供了两个全新的函数(IDENT_CURRENT,SCOPE_IDENTITY),并且改进了@@IDENTITY的不足.当你插入新记录后,可以调用函数:
    PRINT IDENT_CURRENT('table') '这将获得新的IDENTITY值,不管数据库中是不是有记录添加(这就避免了@@IDENTITY的连接限制)
    或者:PRINT SCOPE_IDENTITY() '这将获得在当前存储过程,触发器等其他程序创建的最新记录的IDENTITY值.
  而全局变量@@IDENTITY有一个问题,当对一张表执行insert时,如果该表有触发器程序在执行插入操作,然后,接着在另一张表中插入记录,这样返回@@IDENTITY值就是第二张表的IDENTITY值。
  如果你用的不是SQL Server 2000,你最好一个简单的存储过程来解决这个问题。
CREATE PROCEDURE myProc 
    @param1 INT 
AS 
BEGIN 
    SET NOCOUNT ON 
    INSERT INTO someTable 
    ( 
        intField 
    ) 
    VALUES 
    ( 
        @param1 
    ) 
    SET NOCOUNT OFF 
    SELECT NEWID = @@IDENTITY 
END 
在ASP中你可以这样做:


2.Access 
  对于Access,你可以用下面这样的方法:

  然而对于多人同时向数据库中添加数据,我们就要利用记录集的adOpenKeyset游标来防止出错。例如下面的例子:
 

|
多人使用肯定有问题的,建议你自己建一个表来实现类似于序列生成器的功能。
如下:
create table seq
(item  varchar(20) not null,
 val   number(20)  not null);

update seq
set    val = val + 1
where  item = ?

select val into ? from seq where item = ?

每次在插入时,先更新该表记录(val+1),然后用此值插入表中即可。
另外把ID设为主键

如不明白,可到QQ上找我:38350637


    
 
 

您可能感兴趣的文章:

  • 手把手教你Oracle数据库导出数据库结构到PowerDesigner
  • java中的数据库结果集可以被赋值吗,可以通过结果集的方法来更新数据库字段吗?
  • 在linux下可以使用dao方式连接数据库吗?可以连接musql吗?回答就给分!急
  • 有谁可以告诉我..在UNIX下可以用什么数据库啊 ...
  • 请问Linux数据库编程是否也可以支持通用的SQL语言进行数据库编写.
  • 数据在页面写不进数据库,也不可以从数据库中读出是什么原因?
  • 怎样可以在WINDOWS下连到UNIX下的SYBASE数据库进行编程?
  • 可以在程序中创建临时表吗?(用的是mysql数据库)
  • java可以管理数据库吗
  • Linux shell 可以实现连接数据库吗?
  • 请教,从数据库查看图片地,是否可以不下载到本地?
  • JSP连接数据库时不用DSN可以吗?还有什么方法
  • linux开机自启动程序可以访问数据库吗?
  • linux下可以安装哪些数据库?到哪儿下载免费的?
  • 紧急求助,我的程序连接数据库时,用localhost完全正常,而外部可以访问,但不能访问连接数据的那部分
  • 我是root,请问我如何设置用户aaa的权限,使它也可以创建属于自己的数据库文。。
  • 用什么方法可以将EXCELL表数据导入数据库?
  • 请问微软的SQLServer数据库可以在Linux系统环境中使用吗?
  • 问一个幼稚的问题:jsp能象asp那样不建立odbc数据源却可以连接access数据库吗?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 要做显示数据库内容的柱状图,有意者可以提意见大家进行探讨
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 如何监控数据库的数据,如果数据库数据更改,就通知Server
  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • 散分:Jbuilder6开发数据库应用请问你们都用什么数据库? 免费的数据库有那些?
  • 文档数据库mongodb与列式数据库hbase详细比较
  • 如何从数据库中或文本文件中提取数据到另一个数据库中?
  • nosql数据库levedb介绍及levedb最新版1.18下载安装
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 开发java下的数据库程序,用什么数据库引擎?
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • sql 语句 取数据库服务器上所有数据库的名字
  • 删除数据库中重复记录方法介绍及代码参考
  • sql语句获取数据库服务器上所有数据库的名字
  • Mongodb数据库服务的开启与关闭详细介绍
  • 请问谁有Applet连接远程Access数据库并且显示数据库内容的例子!
  • ORACLE数据库常用字段数据类型介绍
  • mssql无数据库日志文件恢复数据库的方法第1/2页
  • 如何实现 coreos 下Docker 与分布式数据库结合
  • mysql 本地数据库如何从远程数据库导数据


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3