有人可以告诉我,为什么我的会话值在根据btn单击事件保存到数据库时返回a-1。
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmdManID = new SqlCommand("SELECT
managerID,userEmailAddress,userName FROM [MANAGER] ,[USER] WHERE
[MANAGER].managerID = [USER].userID AND [USER].userName= @Uname;",con);
cmdManID.Parameters.Add(new SqlParameter("@Uname",
Session["UName"]));
con.Open();
}
int manID = cmdManID.ExecuteNonQuery();
//manID;
con.Close();发布于 2018-10-15 22:17:39
因为-1正是您应该期望从SELECT上从ExecuteNonQuery得到的结果:
“对于UPDATE、INSERT和DELETE语句,返回值是受命令影响的行数。当正在插入或更新的表上存在触发器时,返回值包括受insert或update操作影响的行数和受触发器或触发器影响的行数。对于所有其他类型的语句,返回值为-1。如果发生回滚,返回值也是-1。”
如果您只期望一个返回值,这就是ExecuteScalar的目的:https://learn.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlcommand.executescalar?view=netframework-4.7.2
https://stackoverflow.com/questions/52825438
复制相似问题