Учетная запись пользователя имя пользователя условие - PullRequest
0 голосов
/ 07 июня 2018

Я использую ASP.net с C # для создания пользовательских записей.В приведенном ниже коде как настроить условие, чтобы определить, существует ли уже имя пользователя.

try
{
    Guid newGuid = Guid.NewGuid();

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
    conn.Open();

    string insertQuery = "insert into UsrData (Id, UserName, Email, Password, Country) values (@id, @Uname, @email, @password, @country)";

    SqlCommand com = new SqlCommand(insertQuery, conn);

    com.Parameters.AddWithValue("@id", newGuid);
    com.Parameters.AddWithValue("@Uname", TextBoxUN.Text);
    com.Parameters.AddWithValue("@email", TextBoxEmail.Text);
    com.Parameters.AddWithValue("@password", TextBoxPass.Text);
    com.Parameters.AddWithValue("@country", DropDownListCountry.SelectedItem.ToString());

    com.ExecuteNonQuery();

    Response.Redirect("login.aspx");
    Response.Write("Sucessuflly registred");

    conn.Close();
}
catch (Exception ex)
{
    Response.Write("An unknown error " + ex.ToString());
}

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Зависит от того, должна ли проверка имени пользователя распространяться на всю таблицу или только на это одно утверждение (в этом случае ответ Фрэнка правильный).

В зависимости от используемой СУБД вы можете определитьUNIQUE ключ / ограничение для столбца UserName, что гарантирует уникальность.Однако вам необходимо убедиться, что все имена пользователей в настоящее время в таблице уникальны, прежде чем применять это ограничение.

0 голосов
/ 07 июня 2018

Поместите существующее условие в ваш код SQL:

try
{
  Guid newGuid = Guid.NewGuid();

  SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
  conn.Open();

  string insertQuery = @"if not exists (select * from UsrData where UserName = @Uname)
    insert into UsrData (Id, UserName, Email, Password, Country) values (@id, @Uname, @email, @password, @country)";
  SqlCommand com = new SqlCommand(insertQuery, conn);

    com.Parameters.AddWithValue("@id", newGuid);
    com.Parameters.AddWithValue("@Uname", TextBoxUN.Text);
    com.Parameters.AddWithValue("@email", TextBoxEmail.Text);
    com.Parameters.AddWithValue("@password", TextBoxPass.Text);
    com.Parameters.AddWithValue("@country", DropDownListCountry.SelectedItem.ToString());

    com.ExecuteNonQuery();

    Response.Redirect("login.aspx");
    Response.Write("Sucessuflly registred");

    conn.Close();
}
catch (Exception ex)
{
    Response.Write("An unknown error " + ex.ToString());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...