string str = "连接字符串"; SqlConnection conn = new SqlConnection(str); conn.Open(); string cmd = "select top 1 id from 表名 order by id desc"; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd,conn); da.Fill(ds,"表名"); conn.Close(); DataTable dt=ds.Tables["表名"]; string getbusno=dt.Rows[0][0].ToString();
string str = "连接字符串"; SqlConnection conn = new SqlConnection(str); conn.Open(); string cmd = "select top 1 id from 表名 order by id desc"; DataSet ds = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(cmd,conn); da.Fill(ds,"表名"); conn.Close(); DataTable dt=ds.Tables["表名"]; string getbusno=dt.Rows[0][0].ToString();
sql数据库中可以使用select @@IDENTITY oracle数据库:插入数据后执行使用select "ID索引的名称".currval from dual 可以获得
友情绑定~ 还以为是SQL呢~ 呵呵
用序列seq的话,插入前先通过"select seq.nextval from dual",获取要插入的id,然后把这个id和别的值一起插入到数据库。 但是现在我用了序列和触发器,所以只能先插入数据(不包括id)以后,通过“select seq.currval from dual”可以获取刚才插入的id。
例子:
insert into users(Code,name) values('1111','aaaa')
select SCOPE_IDENTITY()
select @@IDENTITY
select IDENT_CURRENT('users')
返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块――存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。
IDENT_CURRENT(表名)
返回为任何会话和任何作用域中的指定表最后生成的标识值。这个函数需要一个以表名为值的变量,也就是说虽然不受会话和作用域的限制,却会受到表的限制。@@IDENTITY返回最后插入的标识值。
谢谢!
select @@IDENTITY 在sqlserver中采用
如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL。如果插入了多个行,生成了多个标识值,则 @@IDENTITY 将返回最后生成的标识值。
SELECT IDENT_CURRENT('表名') as 'Identity'
获取新添加的id
oracle oracle oracle oracle oracle oracle oracle oracle oracle
oracle oracle oracle oracle oracle oracle oracle oracle oracle
我用的不是sqlserver,是oracle。大家帮我看看!
谢了!
SqlConnection conn = new SqlConnection(str);
conn.Open();
string cmd = "select top 1 id from 表名 order by id desc";
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd,conn);
da.Fill(ds,"表名");
conn.Close();
DataTable dt=ds.Tables["表名"];
string getbusno=dt.Rows[0][0].ToString();
SqlConnection conn = new SqlConnection(str);
conn.Open();
string cmd = "select top 1 id from 表名 order by id desc";
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(cmd,conn);
da.Fill(ds,"表名");
conn.Close();
DataTable dt=ds.Tables["表名"];
string getbusno=dt.Rows[0][0].ToString();
呵呵
但是现在我用了序列和触发器,所以只能先插入数据(不包括id)以后,通过“select seq.currval from dual”可以获取刚才插入的id。