Как я могу проверить ввод пользователя с базой данных C # для формы окна? - PullRequest
0 голосов
/ 22 июня 2011

Я новичок с c # и окном формы

Я работаю в веб-сервисе и использую форму, которая содержит представление данных, но у меня довольно много проблем.

Как проверить ввод данных пользователем с помощью базы данных, например, когда пользователь вводит имя пользователя, однако имя пользователя уже существует в базе данных, я должен предложить пользователю ввести другое имя пользователя.

Ранее в предыдущей теме я пытался проверить этот конкретный столбец, в котором только пользователь может ввести 0 или 1 ....

как проверить поле ячейки конкретного столбца при редактировании Это что-то похожее?

Нужен ли для этого веб-метод?

ps в основном я хочу иметь текстовое поле в форме окна, в котором пользователь будет вводить имя пользователя, чтобы добавить его в базу данных, однако, когда они нажимают на кнопку добавления, если имя пользователя уже существует, будет приглашение. Если нет, он добавит его в базу данных с помощью веб-метода вставки.

Данные извлекаются веб-методом ... это означает, что я должен использовать веб-метод, чтобы помочь мне с этой проверкой, верно ... но как?

мой код для веб-метода

[WebMethod]  
public DataSet validateUserName()  
{   

    SqlConnection conn = 
        new SqlConnection("Data Source=.\\SQLEXPRESS;
            Initial Catalog=User;Integrated Security=True");   
    SqlCommand dbCommand = new SqlCommand();  
    dbCommand.CommandText = 
        @"SELECT COUNT(*) 
        FROM User 
        WHERE UserName=@UserName"; 
    // this textusername is from the window form  
    dbCommand.Connection = conn;  
    SqlDataAdapter da;   
    da = new SqlDataAdapter();   
    da.SelectCommand = dbCommand;

    DataSet ds = new DataSet();  
    da.Fill(ds);   
    return ds;

}

это мой код формы окна

private void btnAdd_Click(object sender, EventArgs e)

{
    WSBrandData validate = new WSBRandData();
    if (validate.validateUserName(txtUserName.Text))
    {
        MessageBox.Show("UserName is allocated");
        txtUserName.Text = "";
    }
    else
    {
       WSBrandData add = new WSBRandData();

        String[] names = null;

        names = Convert.ToString(DGVBrand.CurrentRow.Cells[1].Value).Split(';');
        String tagg = txtUserName.Text + ";";
        names[1] = tagg;

        DGVBrand.DataSource = add.addUserName(Convert.ToInt32(DGVBrand.CurrentRow.Cells[0].Value), names[0], names[1], Convert.ToInt32(DGVBrand.CurrentRow.Cells[3].Value));
        BindBrand();

    }




}

Ответы [ 3 ]

1 голос
/ 22 июня 2011

Читать о ASP.NET Web Services .

0 голосов
/ 22 июня 2011

Начните здесь:

[WebMethod]  
public Boolean UserNameExists(String userName)  
{   

    SqlConnection conn = 
        new SqlConnection("Data Source=.\\SQLEXPRESS;
            Initial Catalog=User;Integrated Security=True");   
    SqlCommand dbCommand = new SqlCommand();  
    dbCommand.CommandText = 
        @"SELECT COUNT(*) 
        FROM User 
        WHERE UserName='" + userName + "'";
    // this textusername is from the window form  
    dbCommand.Connection = conn;  

    conn.Open();

    int matchesCount = int.Parse(dbCommand.ExecuteScalar().ToString());

    conn.Close();  

    return matchesCount != 0;

}

В вашем бланке заявления:

if (webReference.Type.UserNameExists(this.userNameTextBox.Text) )
{
    // Do something
}
else
{
    // Do something else
}
0 голосов
/ 22 июня 2011

Если вы используете какой-то веб-метод для вставки данных, то должен быть какой-то метод для извлечения данных, основанный на некотором значении.Теперь передайте имя пользователя этому методу и найдите его, если он найден, затем попросите пользователя указать другое имя пользователя.

И если это не то, что вы ищете, то объясните ваш вопрос немного подробнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...