62,074
社区成员
发帖
与我相关
我的任务
分享
using (con)
{
con.Open();
// 执行插入语句,并取得插入数据的首行首列
int uid = Convert.ToInt32(cmd.ExecuteScalar());
Response.Write(uid.ToString());
Response.End();
cmd.CommandText = "insert into customer2013_address (addtime,danwei,shoujianren,dizhi,utel,uphone,ismoren,uid)values(@addtime,@danwei,@shoujianren,@dizhi,@utel,@uphone,@ismoren,@uid)";
cmd.Parameters.AddWithValue("@shoujianren", xingming);
cmd.Parameters.AddWithValue("@ismoren", true);
cmd.Parameters.AddWithValue("@uid", uid);
cmd.ExecuteNonQuery();
}
insert into customer2013_address (addtime,danwei,shoujianren,dizhi,utel,uphone,ismoren,uid)values(@addtime,@danwei,@shoujianren,@dizhi,@utel,@uphone,@ismoren,@uid);select @@identity";
,..然后取值 用
int uid = Convert.ToInt32(cmd.ExecuteScalar());
取得值了;谢谢 !版主!谢谢各位
“”SqlConnection con = new SqlConnection("server=.;database=Movies;uid=sa;pwd=sasa");
string sql = "insert into Users(uName) select 'Hello' ;select @@identity";
SqlCommand cmd = new SqlCommand(sql,con);
con.Open();
var v = cmd.ExecuteScalar();
con.Close();
..........
//以上获取各表单的值
//以下插入数据记录,插入后取得id值
SqlConnection con = new SqlConnection(_connstring);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "insert into customer(danwei,uname,password,nicheng,xingming,xingzhi,dizhi,utel,uphone) values(@danwei,@uname,@password,@nicheng,@xingming,@xingzhi,@dizhi@utel,@uphone)";
cmd.Connection = con;
//... 此处为参数
cmd.Parameters.AddWithValue("@danwei", danwei);
//....参数
using (con)
{
con.Open();
// 执行插入语句,并取得插入数据的首行首列 即ID值 ,然后把ID值作为一个字段值插入另一个表中
int uid = Convert.ToInt32(cmd.ExecuteScalar());
Response.Write(uid.ToString());
Response.End();
cmd.CommandText = "insert into customer2013_address (addtime,danwei,shoujianren,dizhi,utel,uphone,ismoren,uid)values(@addtime,@danwei,@shoujianren,@dizhi,@utel,@uphone,@ismoren,@uid)";
cmd.Parameters.AddWithValue("@shoujianren", xingming);
cmd.Parameters.AddWithValue("@ismoren", true);
cmd.Parameters.AddWithValue("@uid", uid);
cmd.ExecuteNonQuery();
}
问题: 第一步插入是OK 的,这样 的话, int uid = Convert.ToInt32(cmd.ExecuteScalar()); 这句我应该取得 刚插入的记录的ID 值 比如自动生成的ID 是100 那 uid应该为100,这时候我把 uid 值100放入新 表中 作为一个字段,但是 总是取不到100 ,而是0 ,不知道哪里搞错了??
// 执行插入语句,并取得插入数据的首行首列
int uid = Convert.ToInt32(cmd.ExecuteScalar());
你这个ExecuteScalar执行的SQL语句呢?