-1

そのユーザーが既に存在するかどうかを確認したいフォームがあります。存在しない場合はデータベースに保存します。そうでない場合は、ユーザーが既に存在するというエラーメッセージを表示します。この質問を何度も尋ねましたが、解決策が見つかりませんでしたaspx コード:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    con.Open();
    string FirstName = tbFirstName.Text;
    string LastName = tbLastName.Text;
    string Email = tbEmail.Text;
    string Pass = tbPass.Text;
    string ConfirmPass = tbConfirmPass.Text;
    using (SqlCommand cmd = con.CreateCommand())
    {
       cmd.CommandText = "Insert into UserDetails(@FirstName,@LastName,@Email,@Pass,@ConfirmPass)values('" + tbFirstName.Text + "','" + tbLastName.Text + "','" + tbEmail.Text + "','" + tbPass.Text + "','" + tbConfirmPass.Text + "')";
       cmd.Parameters.AddWithValue("@FirstName", tbFirstName.Text.Trim());
       cmd.Parameters.AddWithValue("@LastName", tbLastName.Text.Trim());
       cmd.Parameters.AddWithValue("@Email", tbEmail.Text.Trim());
       cmd.Parameters.AddWithValue("@Pass", tbPass.Text.Trim());
       cmd.Parameters.AddWithValue("@ConfirmPass", tbConfirmPass.Text.Trim());
    }
    con.Close();
    tbFirstName.Text = "";
    tbLastName.Text = "";
    tbEmail.Text = "";
    tbPass.Text = "";
    tbConfirmPass.Text = "";
    tbFirstName.Focus();
    }

このボタンのクリックイベントではユーザーしか作成できませんが、データベースに存在するかどうかを確認したい

4

1 に答える 1

1

このコードを試してみてください。クリックイベントでこの関数を呼び出します。

public void CheckUser()
 {

    string strconn = @"Data Source=appserver3;Initial Catalog=Bart;User ID=bart1;Password=bart@12345";
    SqlDataReader reader = null;

    SqlConnection conn = null;

    conn = new SqlConnection(strconn);
    conn.Open();

    DateTime Dt_Time = DateTime.Now;
    string FirstName = tbFirstName.Text;
    SqlCommand cmd = new SqlCommand("select FirstName from UserDetails where @FirstName='" + tbFirstName.Text + "'", conn);
    cmd.Parameters.AddWithValue("@FirstName", tbFirstName.Text.Trim());
    reader = cmd.ExecuteReader();
    if (reader != null && reader.HasRows)
    {
        Response.Write("<script>alert('User Already Exist');</script>");
    }
    else
    {
        string strquery = string.Format("insert into UserDetails values('{0}')", @FirstName);
        cmd = new SqlCommand(strquery, conn);
        int count = (int)cmd.ExecuteNonQuery();
        Response.Write("FirstName:" + FirstName);               
    }
}
于 2013-04-29T15:21:18.623 に答える