sqlCommand1.CommandText = "INSERT INTO userinfo (pwd, name) VALUES (@pwd, @name) SELECT @@IDENTITY AS Id";
sqlCommand1.Connection = sqlConnection1;
sqlCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@pwd", System.Data.SqlDbType.NVarChar, 20, "pwd"));
sqlCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.NVarChar, 50, "name"));
sqlCommand1.Parameters["@name"].Value=name.Text;
sqlCommand1.Parameters["@pwd"].Value=pwd.Text;
sqlConnection1.Open();
System.Data.SqlClient.SqlDataReader R=sqlCommand1.ExecuteReader();
if(R.Read())Response.Write("<script language=javascript>window.alert('注册成功,请记住你的ID:"+R.GetValue(0).ToString()+"');window.close();</script>");
sqlConnection1.Close();
ExecuteScalar 执行查询,并返回查询所返回的结果集中第一行的第一列。 ExecuteNonQuery 执行SQL语句并返回受影响的行数 ExecuteReader 执行返回数据集的SELECT语句 你这里是第二种,当然是反回受影响的行数啦! 然后用ExecuteScalar执行查询,返回的自然是id