问个问题。。关于数据库插入记录的

问题描述

表tab的ID为自增长,插入数据后获取自增长的ID方法一:在代码里直接写strInsert="insertintotab(name...)values('张三',...);selectident_current('tab')";后面获取自增的语句可能因数据库不同而不同。。这里以sqlserver为例方法二:在存储过程里...insertintotab(name,....)values(@name,...)set@out_new_id=ident_current('tab')想问下方法一有什么弊端没?会受到并发性的影响不?

解决方案

解决方案二:
sqlserver存储过程可以直接返回@@Identity变量得到自增值只要存储过程名不变,那么换做其他数据库,你要做的就是修改存储过程即可
解决方案三:
自增长的ID没什么问题的,不会受并发影响
解决方案四:
引用1楼的回复:

sqlserver存储过程可以直接返回@@Identity变量得到自增值只要存储过程名不变,那么换做其他数据库,你要做的就是修改存储过程即可

因为有的表很简单。不想写那么多储存过程,要是换数据库,还得一个个改,麻烦。。所以想在代码里处理算了。。

时间: 2024-10-22 07:04:40

问个问题。。关于数据库插入记录的的相关文章

C#向SQL数据库插入记录的问题!!!

问题描述 我的代码:try{if(textBox1.Text!=""){//设定数据连接字符串,此字符串的意思是打开Sqlserver数据库,服务器名称为server1,数据库为data1,用户名为sa.stringstrCon="Provider=SQLOLEDB.1;PersistSecurityInfo=False;InitialCatalog=通讯录;UserID=sa;DataSource=JUJUMAO";OleDbConnectionmyConn=ne

asp中用insert into语句向数据库插入记录(添加信息)的方法_应用技巧

一.'建立register.asp 复制代码 代码如下: <%@ language=vbscript %> <html > <head> <title>注册页面</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css">

asp中用insert into语句向数据库插入记录(添加信息)的方法

一.'建立register.asp 复制代码 代码如下: <%@ language=vbscript %> <html > <head> <title>注册页面</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css">

关于用SqlDataAdapter向数据库插入记录的问题

问题描述 SqlCommandBuilderbuilder=newSqlCommandBuilder(adapter);adapter.InsertCommand=builder.GetInsertCommand();DataRowrow=table.NewRow();row[0]=textBoxStuno.Text;row[1]=textBoxName.Text;row[2]=sex;row[3]=dateTimePicker1.Text;row[4]=textBoxDept.Text;tab

全面解决--如何获得刚插入数据库的记录的ID号?

插入|解决|数据|数据库 如何获得刚插入数据库的记录的ID号? 1.SQL Server 对于SQL Server 2000来说,它提供了两个全新的函数(IDENT_CURRENT,SCOPE_IDENTITY),并且改进了@@IDENTITY的不足.当你插入新记录后,可以调用函数: PRINT IDENT_CURRENT('table') '这将获得新的IDENTITY值,不管数据库中是不是有记录添加(这就避免了@@IDENTITY的连接限制) 或者:PRINT SCOPE_IDENTITY(

使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd

问题描述 使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd 使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd,但是在插入前我已经转成了yyyy-mm-dd HH:mm:ss格式,插入到数据库中时分秒就掉了,怎么回事 解决方案 应该用timestamp类型吧 解决方案二: http://blog.sina.com.cn/s/blog_af4f958e01015fmx.html 解决方案三: 也许是你使用的界面工具的

mysql千万级数据库插入速度和读取速度的调整记录

  (1)提高数据库插入性能中心思想:尽量将数据一次性写入到Data File和减少数据库的checkpoint 操作.这次修改了下面四个配置项: 1)将 innodb_flush_log_at_trx_commit 配置设定为0:按过往经验设定为0,插入速度会有很大提高. 0: Write the log buffer to the log file and flush the log file every second, but do nothing at transaction commi

mysql数据库插入速度和读取速度的调整记录_Mysql

(1)提高数据库插入性能中心思想:尽量将数据一次性写入到Data File和减少数据库的checkpoint 操作.这次修改了下面四个配置项: 1)将 innodb_flush_log_at_trx_commit 配置设定为0:按过往经验设定为0,插入速度会有很大提高. 0: Write the log buffer to the log file and flush the log file every second, but do nothing at transaction commit.

在MsSql、Access两种数据库中插入记录后马上得到自动编号的ID值_木马相关

本编文章将要介绍重点解释如何在Ms Sql Server中更新或添加一条记录后立即得到其标识列的值,这个值在ACCESS就是我们熟知的自动编号的 ID值,好了,闲话不多说,代码我也不多写,只写关键些,相信各位高手一看就明白,呵呵.后面也附带了在ACCESS中获取的方法,虽然在ACCESS 中获取自动编号的文章网上虽然很多,但放在此做为一个总结吧. Set testRs=Server.CreateObject("ADODB.RecordSet") '创建要测试的对象 testRs.Ope