try
{
MySqlCommand cmd = null;
if (res.Id<=-1)
{
cmd = new MySqlCommand("insert result set totalcount=@totalcount,wincount=@wincount,userid=@userid", conn);
}
else
{
cmd = new MySqlCommand("update result set totalcount=@totalcount,wincount=@wincount where userid=@userid ", conn);
}
cmd.Parameters.AddWithValue("totalcount", res.TotalCount);
cmd.Parameters.AddWithValue("wincount", res.WinCount);
cmd.Parameters.AddWithValue("userid", res.UserId);
cmd.ExecuteNonQuery();
if (res.Id <= -1)
{
Result tempRes = GetResultByUserid(conn, res.UserId);
res.Id = tempRes.Id;
}感觉这里代码完全没有必要因为 GetResultByUserid 的时候就已经给Result赋值了而且GetResultByUserid应该一直会在结束前调用 Result res = new Result(id, userId, totalCount, winCount);就是登陆的时候都已经给他赋值了这里为什么还需要在此给他id赋值呢 而且老师这里id赋值后 当原本用户下现在上线的时候如何确定这个Result是对应刚刚赋值的呢 把红色代码注释掉也能正常运行呢 一直想不通这里想请老师这里是节省资源还是怎么的吗求老师给我开开窍
}
这个里面处理的是 res 的id小于等于-1这种情况,如果说这种情况没有的话,可以不添加最后一句
但是这种情况应该是有的,刚开始的时候需要需要insert,这个时候,id是没有的,需要insert之后,数据库给指定,所以我们是取得服务器端给我们指定的