【发布时间】:2015-02-03 11:46:24
【问题描述】:
我需要用户在 asp.net 的网络表单中输入用户名。当用户输入并单击按钮时,如果用户名存在于特定数据库中,我需要显示标签。我尝试执行存储过程,但它总是显示消息“找到用户名”,尽管我给出的用户名不在该数据库中。
这是我的存储过程
CREATE PROCEDURE [dbo].[spCheckUsernameForAnswer]
@userName varchar(20)
as
begin
Declare @count int
select @count=COUNT(username) from UpdatedAnswer where [username] =@userName
if(@count=1)
Begin
Select 1 as ReturnCode
End
Else
Begin
Select -1 as Returncode
End
End
GO
下面是我在点击按钮时执行的代码隐藏文件
string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand("spCheckUsernameForAnswer", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parausername = new SqlParameter("@username", GetUsername.Text);
cmd.Parameters.Add(parausername);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
if (Convert.ToBoolean(rdr["ReturnCode"]))
{
ErrorUserLabel.Text = "Username found";
}
else
{
ErrorUserLabel.Text = "not found";
}
}
}
我可以猜到问题出在这段代码后面,但我不知道如何解决它。!!请帮助我是.net的新手!提前致谢
【问题讨论】:
标签: asp.net database stored-procedures