У меня проблема, и я не знаю, где проблема. Моя визуальная студия выдает исключение, когда я ввожу детали и нажимаю кнопку отправки на моей странице REGISTER. Я не знаю, проблема заключается в моем SQL запросе или мой code.So я отправляю какОшибка преобразования типа данных nvarchar в int
Это мой Sql запрос:
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
тогда я получаю исключение на линии ниже:
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");
}
}
}
}
Одна забавная вещь, которую я видел. Когда я удаляю поля Name и ContactNo из таблицы, хранимую процедуру и cs code.IT WORKS.
Какая ошибка? – Amit
Не так много полезного, сообщите полную ошибку и как вы добавляете параметры в свою команду? –
Ошибка преобразования типа данных nvarchar в int. – Mash