9 个解决方案
#1
查询出来就是了啊?
你想得到什么值哦?
说清楚点嘛
你想得到什么值哦?
说清楚点嘛
#2
如果是自动增加的。
用SELECT MAX(ID)不就可以了吗?
用SELECT MAX(ID)不就可以了吗?
#3
string sqlstr = "insert into user(name) values('sprc_lcl')";
sqlstr +=" select id from user where id=@@IDENTITY";
sqlstr +=" select id from user where id=@@IDENTITY";
#4
两句合在一起执行,可取ID值
#5
sqlstr +=" select id from user where id=@@IDENTITY";这句话是什么意思
#6
什么意思 LZ 要的是自动获取记录行数值吧
create sequence 字段名;
create sequence 字段名;
#7
select id from user where id=@@IDENTITY
id就是你自增的那个字段,@@IDENTITY就是你插入的那条记录系统给你的ID值(这个不用管它)这么写就是了
id就是你自增的那个字段,@@IDENTITY就是你插入的那条记录系统给你的ID值(这个不用管它)这么写就是了
#8
因为这个主键是自增长的,我在插入这条记录之前不知道它的值,但是在插入这条记录之后想得到这个值
#9
以Access数据库为例,回填实现如下:
注册DataAdapter.RowUpdated事件。
da.RowUpdated += new OleDbRowUpdatedEventHandler(da_RowUpdated);
事件处理程序,
private static void da_RowUpdated(object sender, OleDbRowUpdatedEventArgs e)
{
if(e.Status == UpdateStatus.Continue && e.StatementType = StatementType.Insert)
{
OleDbConnection conn = new OleDbConnection("连接字符串");
OleDbCommand comm = new OleDbCommand("SELECT @@IDENTITY",conn);
conn.Open();
e.Row["id"] = (int)comm.ExecuteScalar();//得到最新递增值更新到内存DataTable中刚更新的DataRow.
e.Row.AcceptChanges();
conn.Close();
}
}
注册DataAdapter.RowUpdated事件。
da.RowUpdated += new OleDbRowUpdatedEventHandler(da_RowUpdated);
事件处理程序,
private static void da_RowUpdated(object sender, OleDbRowUpdatedEventArgs e)
{
if(e.Status == UpdateStatus.Continue && e.StatementType = StatementType.Insert)
{
OleDbConnection conn = new OleDbConnection("连接字符串");
OleDbCommand comm = new OleDbCommand("SELECT @@IDENTITY",conn);
conn.Open();
e.Row["id"] = (int)comm.ExecuteScalar();//得到最新递增值更新到内存DataTable中刚更新的DataRow.
e.Row.AcceptChanges();
conn.Close();
}
}
#1
查询出来就是了啊?
你想得到什么值哦?
说清楚点嘛
你想得到什么值哦?
说清楚点嘛
#2
如果是自动增加的。
用SELECT MAX(ID)不就可以了吗?
用SELECT MAX(ID)不就可以了吗?
#3
string sqlstr = "insert into user(name) values('sprc_lcl')";
sqlstr +=" select id from user where id=@@IDENTITY";
sqlstr +=" select id from user where id=@@IDENTITY";
#4
两句合在一起执行,可取ID值
#5
sqlstr +=" select id from user where id=@@IDENTITY";这句话是什么意思
#6
什么意思 LZ 要的是自动获取记录行数值吧
create sequence 字段名;
create sequence 字段名;
#7
select id from user where id=@@IDENTITY
id就是你自增的那个字段,@@IDENTITY就是你插入的那条记录系统给你的ID值(这个不用管它)这么写就是了
id就是你自增的那个字段,@@IDENTITY就是你插入的那条记录系统给你的ID值(这个不用管它)这么写就是了
#8
因为这个主键是自增长的,我在插入这条记录之前不知道它的值,但是在插入这条记录之后想得到这个值
#9
以Access数据库为例,回填实现如下:
注册DataAdapter.RowUpdated事件。
da.RowUpdated += new OleDbRowUpdatedEventHandler(da_RowUpdated);
事件处理程序,
private static void da_RowUpdated(object sender, OleDbRowUpdatedEventArgs e)
{
if(e.Status == UpdateStatus.Continue && e.StatementType = StatementType.Insert)
{
OleDbConnection conn = new OleDbConnection("连接字符串");
OleDbCommand comm = new OleDbCommand("SELECT @@IDENTITY",conn);
conn.Open();
e.Row["id"] = (int)comm.ExecuteScalar();//得到最新递增值更新到内存DataTable中刚更新的DataRow.
e.Row.AcceptChanges();
conn.Close();
}
}
注册DataAdapter.RowUpdated事件。
da.RowUpdated += new OleDbRowUpdatedEventHandler(da_RowUpdated);
事件处理程序,
private static void da_RowUpdated(object sender, OleDbRowUpdatedEventArgs e)
{
if(e.Status == UpdateStatus.Continue && e.StatementType = StatementType.Insert)
{
OleDbConnection conn = new OleDbConnection("连接字符串");
OleDbCommand comm = new OleDbCommand("SELECT @@IDENTITY",conn);
conn.Open();
e.Row["id"] = (int)comm.ExecuteScalar();//得到最新递增值更新到内存DataTable中刚更新的DataRow.
e.Row.AcceptChanges();
conn.Close();
}
}