在C#代码文件中,使用存储过程,怎样抛出错误信息和终止存储过程,代码如下:

//更改用户邮箱publicvoidModifyEmail(intUserId,stringNewEmail,stringOldEmail){stringEmail=""... //更改用户邮箱
public void ModifyEmail(int UserId, string NewEmail,string OldEmail)
{
string Email = "";
string cmdText = "select Email from Users TABLOCKX where UserId="+UserId;
SqlConnection conn = new SqlConnection(Connection.ConnString);
SqlCommand cmd = new SqlCommand(cmdText, conn);
conn.Open();
SqlTransaction tr = conn.BeginTransaction();
cmd.Transaction = tr;
try
{
SqlDataReader dr = cmd.ExecuteReader(); //要求此处能抛出错误
if (dr.Read())
{
Email = dr["Email"].ToString();
}
dr.Close();
if (Email == OldEmail)
{
cmd.CommandText = "Update users Set Email='" + NewEmail + "' Where UserId=" + UserId;
cmd.ExecuteNonQuery();
}
else
{
//要求此处能抛出错误,或中止执行存储过程(此处能中止存储过程执行吗?)
}
tr.Commit();
}
catch(Exception ex)
{
tr.Rollback();
throw ex;
}
finally { conn.Close(); }
}
展开
 我来答
z328209018
2011-08-11
知道答主
回答量:48
采纳率:0%
帮助的人:15.1万
展开全部
你要存储过程终止执行 不能再代码中写 ,到存储过程中写事物,达到某个条件时就停止。存储过程事物到网上查查就有
vifo
2011-08-11
知道答主
回答量:31
采纳率:0%
帮助的人:10.7万
展开全部
不执行 tr.Commit(); 不就行了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnmahj
2011-08-11 · TA获得超过954个赞
知道小有建树答主
回答量:785
采纳率:0%
帮助的人:1073万
展开全部
这里也没有存储过程啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式