【发布时间】:2015-02-28 08:31:30
【问题描述】:
protected void RegisterUser(object sender,EventArgs e)
{
int userid = 0;
var s = (from a in dc.Insert_User(txtUsername.Text.Trim(), txtPassword.Text.Trim(), txtEmail.Text.Trim())
select a.Column1).SingleOrDefault();
// gvtest.DataSource = s;
// gvtest.DataBind();
userid = Convert.ToInt32(s);
string message = string.Empty;
switch (userid)
{
case -1:
message = "Username already exists.\\nPlease choose a different username.";
break;
case -2:
message = "Supplied email address has already been used.";
break;
default:
message = "Registration successful.\\nUser Id: " + userid.ToString();
break;
}
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + message + "');", true);
}
当我输入新记录进行注册时,查询时出现指定的演员表无效错误。记录也被插入到数据库中。
这里是存储过程
CREATE PROCEDURE [dbo].[Insert_User]
@Username NVARCHAR(20),
@Password NVARCHAR(20),
@Email NVARCHAR(30)
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS(SELECT UserId FROM Users WHERE Username = @Username)
BEGIN
SELECT -1 -- Username exists.
END
ELSE IF EXISTS(SELECT UserId FROM Users WHERE Email = @Email)
BEGIN
SELECT -2 -- Email exists.
END
ELSE
BEGIN
INSERT INTO [Users]
([Username]
,[Password]
,[Email]
,[CreatedDate])
VALUES
(@Username
,@Password
,@Email
,GETDATE())
SELECT SCOPE_IDENTITY() -- UserId
END
END
但是当从过程返回-1或-2时没有这样的错误
【问题讨论】:
-
这真的不足以让我们说出哪里出了问题。您需要编写一个更好的问题,提供所涉及代码的完整详细信息,以及您遇到的问题的具体细节。请花时间提出一个好的问题,以便我们给您一个好的答案。
-
现在我已经更新了我的问题,请查看它。
标签: asp.net sql-server linq-to-sql