下面代码怎样用存储过程实现?求大神帮帮忙,小弟感激不尽
STRING sql_u_currentScore = "UPDATE t_score SET s_score = s_score + 1 WHERE s_userid = ?currentuid";//为当前用户积分+1
DBHelper.ExecuteNonQuery(sql_u_currentScore, NEW MySqlParameter("?currentuid", u_id));
STRING sql_u_compeletetaskadd = "UPDATE t_task SET t_complete = t_complete + 1WHERE t_id = ?tid";//任务完成量加1
IF (DBHelper.ExecuteNonQuery(sql_u_compeletetaskadd, NEW MySqlParameter("?tid", t_id)) > 0)
{
INT complete = (INT)DBHelper.ExecuteScalar("SELECT t_complete FROM t_task WHERE t_id = ?tid", NEW MySqlParameter("?tid", t_id));//获取完成数量
IF (complete >= t_need)
{//如果完成数大于等于需求量,则把该任务完成状态改为已完成
DBHelper.ExecuteNonQuery("UPDATE t_task SET t_isComlete = 1 WHERE t_id = ?tid", NEW MySqlParameter("?tid", t_id));
}
}
MySql存储过程
STRING sql_u_currentScore = "UPDATE t_score SET s_score = s_score + 1 WHERE s_userid = ?currentuid";//为当前用户积分+1
DBHelper.ExecuteNonQuery(sql_u_currentScore, NEW MySqlParameter("?currentuid", u_id));
STRING sql_u_compeletetaskadd = "UPDATE t_task SET t_complete = t_complete + 1WHERE t_id = ?tid";//任务完成量加1
IF (DBHelper.ExecuteNonQuery(sql_u_compeletetaskadd, NEW MySqlParameter("?tid", t_id)) > 0)
{
INT complete = (INT)DBHelper.ExecuteScalar("SELECT t_complete FROM t_task WHERE t_id = ?tid", NEW MySqlParameter("?tid", t_id));//获取完成数量
IF (complete >= t_need)
{//如果完成数大于等于需求量,则把该任务完成状态改为已完成
DBHelper.ExecuteNonQuery("UPDATE t_task SET t_isComlete = 1 WHERE t_id = ?tid", NEW MySqlParameter("?tid", t_id));
}
}
MySql存储过程
begin
update xxxx;
update xxx;
insert xxxx;
end
小弟不知怎样把获取到任务完成量赋值给一个变量?
declare v int;
...
SELECT t_complete into v FROM t_task WHERE t_id = ?
小弟不知怎样把获取到任务完成量赋值给一个变量?
declare v int;
...
SELECT t_complete into v FROM t_task WHERE t_id = ?3Q