请教怎么才能获得刚插入新记录的自动ID号,并保存到某变量中
请问如何才能获得刚插入新记录的自动ID号,并保存到某变量中?
看网上说 :用select @@identity语句,可是该语句该如何用呢??
假如我想获取新纪录的ID号,并保存到 int Num变量中去,该如何写?请教各位大侠
------解决方案--------------------
string sql="INSERT INTO Rules(FolderID,RuleName,StringNameValues) VALUES(@FolderID,@RuleName,@StringNameValues)";
OleDbConnection Conn = GetOleDbConnection();
OleDbCommand Cmd = new OleDbCommand(sql,Conn);
Cmd.CommandType=CommandType.Text;
Cmd.Parameters.Add("@FolderID", OleDbType.Integer).Value =rule.FolderID;
Cmd.Parameters.Add("@RuleName", OleDbType.VarChar).Value =rule.Name;
Cmd.Parameters.Add("@StringNameValues", OleDbType.Binary).Value = rule.SerializeExtendedAttributes();
Conn.Open();
Cmd.ExecuteNonQuery();
Cmd=new OleDbCommand("SELECT @@IDENTITY",Conn);
int i=(int)Cmd.ExecuteScalar();
Cmd.Dispose();
Conn.Close();
return i;
看网上说 :用select @@identity语句,可是该语句该如何用呢??
假如我想获取新纪录的ID号,并保存到 int Num变量中去,该如何写?请教各位大侠
------解决方案--------------------
string sql="INSERT INTO Rules(FolderID,RuleName,StringNameValues) VALUES(@FolderID,@RuleName,@StringNameValues)";
OleDbConnection Conn = GetOleDbConnection();
OleDbCommand Cmd = new OleDbCommand(sql,Conn);
Cmd.CommandType=CommandType.Text;
Cmd.Parameters.Add("@FolderID", OleDbType.Integer).Value =rule.FolderID;
Cmd.Parameters.Add("@RuleName", OleDbType.VarChar).Value =rule.Name;
Cmd.Parameters.Add("@StringNameValues", OleDbType.Binary).Value = rule.SerializeExtendedAttributes();
Conn.Open();
Cmd.ExecuteNonQuery();
Cmd=new OleDbCommand("SELECT @@IDENTITY",Conn);
int i=(int)Cmd.ExecuteScalar();
Cmd.Dispose();
Conn.Close();
return i;