我遇到問題,我不知道問題出在哪裏。當我輸入詳細信息並單擊我的REGISTER頁面上的提交按鈕時,我的視覺工作室拋出異常。我不知道問題就出在我的SQL查詢或我code.So我張貼既將數據類型nvarchar轉換爲int時出錯
這是我的SQL查詢:
protected void btnRegSubmit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
string CS = ConfigurationManager.ConnectionStrings["AK"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("spRegisteredUsers", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter Name = new SqlParameter("@Name", txtRegName.Text);
SqlParameter UserName = new SqlParameter("@UserName", txtRegUsername.Text);
SqlParameter Password = new SqlParameter("@Password", txtRegPassword.Text);
SqlParameter ContactNo = new SqlParameter("@ContactNo", txtRegContact.Text);
SqlParameter Email = new SqlParameter("@Email", txtRegEmail.Text);
cmd.Parameters.Add(Name);
cmd.Parameters.Add(UserName);
cmd.Parameters.Add(Password);
cmd.Parameters.Add(ContactNo);
cmd.Parameters.Add(Email);
con.Open();
int ReturnCode = Convert.ToInt32(cmd.ExecuteScalar().ToString());
if (ReturnCode == -1)
{
lblMessage.Text = "UserName already exists.";
}
else
{
Response.Redirect("~/Login.aspx");
}
}
}
}
:
Create proc spRegisteredUsers
@Name nvarchar(100),
@UserName nvarchar(100),
@Password nvarchar(200),
@ContactNo int,
@Email nvarchar(200)
as
Begin
Declare @Count int
Declare @ReturnCode int
Select @Count = COUNT(UserName)
from tblRegisteredUsers where [email protected]
if @Count>0
Begin
Set @ReturnCode= -1
End
Else
Begin
Set @ReturnCode= 1
Insert into tblRegisteredUsers values(@Name,@UserName,@Password,@ContactNo,@Email)
End
Select @ReturnCode as ReturnValue
End
,而我在下面的橫線得到一個異常我看到了一個有趣的事情。當我從表,存儲過程和cs代碼中刪除名稱和聯繫人字段。
什麼是錯誤? – Amit
沒有多大用處,發佈完整的錯誤,以及如何向您的命令添加參數? –
將數據類型nvarchar轉換爲int時出錯。 – Mash