【发布时间】:2014-07-17 16:14:25
【问题描述】:
我创建了程序并将其添加到加载页面,我的代码现在看起来像这样:
程序:
CREATE PROCEDURE CheckIfUserExists
(
@UserName Varchar(50),
@IsExists INT OUTPUT
)
AS
If exists (select Nazwa_uzytkownika from Uzytkownicy where Nazwa_uzytkownika = @UserName)
Begin
Set @IsExists = 1
End
Else
begin
Set @IsExists = 0
End
Return @IsExists
代码:
namespace Komis_Samochodowy1
{
public partial class Rejestracja : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["registrationConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand("CheckIfUserExists", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@UserName", un.Text);
**int rowAffected = cmd.ExecuteNonQuery();** //Error
if (rowAffected == 1)
{
status.Visible = true;
status.Text = "Uzytkownik istnieje.";
}
}
protected void Button4_Click(object sender, EventArgs e)
{
Response.Redirect("Login.aspx");
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Main.aspx");
}
protected void Button3_Click(object sender, EventArgs e)
{
Response.Redirect("AboutMe.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("Offer.aspx");
}
protected void Button5_Click(object sender, EventArgs e)
{
Response.Redirect("Registration.aspx");
}
protected void Button7_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["registrationConn"].ConnectionString);
conn.Open();
string dodajQuery = "insert into Uzytkownicy (Nazwa_uzytkownika, Kraj, Hasło, Email) values (@Unazwa, @ukraj, @uhasło, @uemail) ";
SqlCommand com = new SqlCommand(dodajQuery, conn);
com.Parameters.AddWithValue("@Unazwa", un.Text.ToString());
com.Parameters.AddWithValue("@ukraj", country.SelectedItem.ToString());
com.Parameters.AddWithValue("@uhasło", pass.Text.ToString());
com.Parameters.AddWithValue("@uemail", email.Text.ToString());
com.ExecuteNonQuery();
Response.Redirect("Login.aspx");
Response.Write("Rejestracja zakonczona.");
conn.Close();
}
}
}
还是不行,每次都卡在螺栓上,我做错了什么?
附加信息:过程或函数“CheckIfUserExists”需要参数“@IsExists”,但未提供。
【问题讨论】:
-
除了你的问题 - 你没有关闭
conn。使用conn.Close()或(更好的)using(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["registrationConn"].ConnectionString) { /* your code here */ }。即使它是一门很棒的语言,你仍然应该避免用波兰语编写函数名称;)
标签: c# asp.net database procedure exists