/// <summary>
        /// 获取自增变量值
        /// </summary>
        /// <returns>自增变量值</returns>
        public int getReturnIdentity()
        {
            //Conn_Open();
            string strCMDtext = @"select @@identity";
            OleDbCommand cmd_sql = new OleDbCommand(strCMDtext, conn_1);
            int i = int.Parse(cmd_sql.ExecuteScalar().ToString());
            cmd_sql.Dispose();
            return i;
            //conn_close();
        }




Access中获取新添加行的自动编号  (转自http://www.cnblogs.com/hongyuniu/archive/2008/03/08/1096638.html)
在SQL Server里有个全局变量 @@IDENTITY,他用来记录当前链接产生的自动加1的值,这个变量在access里也可以用,现在我们就用这个@@Identity在事务中获取新添加行的自动编号。需要注意的是获取自动编号的命令和插入记录的命令必须是在同一次打开数据库连接时执行否则Select @@Identity 返回为0。代码如下:

获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号string sCon;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号sCon = System.Configuration.ConfigurationManager.ConnectionStrings["access"].ConnectionString;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号con = new OleDbConnection(sCon);
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号con.Open();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            int i = -1;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            OleDbCommand cmd = con.CreateCommand();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            OleDbTransaction tr = con.BeginTransaction();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            cmd.Transaction = tr;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            cmd.CommandText = …………;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            try
                            i = cmd.ExecuteNonQuery();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                if (i > 0)
                                    cmd.CommandText = @"select @@identity";
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                    i = int.Parse(cmd.ExecuteScalar().ToString());
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                }
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                tr.Commit();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            }
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            catch (Exception e)
                            
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                MessageBox.Show(e.Message);
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            } 
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            this.Close();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            return i;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号

 

在SQL Server里有个全局变量 @@IDENTITY,他用来记录当前链接产生的自动加1的值,这个变量在access里也可以用,现在我们就用这个@@Identity在事务中获取新添加行的自动编号。需要注意的是获取自动编号的命令和插入记录的命令必须是在同一次打开数据库连接时执行否则Select @@Identity 返回为0。代码如下:

获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号string sCon;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号sCon = System.Configuration.ConfigurationManager.ConnectionStrings["access"].ConnectionString;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号con = new OleDbConnection(sCon);
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号con.Open();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            int i = -1;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            OleDbCommand cmd = con.CreateCommand();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            OleDbTransaction tr = con.BeginTransaction();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            cmd.Transaction = tr;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            cmd.CommandText = …………;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            try
                            i = cmd.ExecuteNonQuery();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                if (i > 0)
                                    cmd.CommandText = @"select @@identity";
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                    i = int.Parse(cmd.ExecuteScalar().ToString());
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                }
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                tr.Commit();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            }
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            catch (Exception e)
                            
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号                MessageBox.Show(e.Message);
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            } 
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            this.Close();
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号            return i;
获取ACCESS数据库中自增变量的值
    




Access中获取新添加行的自动编号

相关文章:

  • 2021-09-20
  • 2021-04-08
  • 2021-09-03
  • 2022-12-23
  • 2021-11-27
  • 2021-12-17
  • 2022-12-23
  • 2021-12-30
猜你喜欢
  • 2021-08-15
  • 2021-05-21
  • 2022-12-23
  • 2021-07-02
  • 2021-06-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案