2011-06-22 7 views
0

私はC#とウィンドウフォームの初心者ですウィンドウフォームのデータベースC#でユーザー入力を検証するにはどうすればよいですか?

私はウェブサービスを行っており、データグリッドビューを含むフォームを使用していますが、かなりの問題があります。

ユーザー入力をデータベースで検証するにはどうすればよいですか?たとえば、ユーザーがユーザー名を挿入したときに、ユーザー名が既にデータベースに存在する場合は、別のユーザー名を入力する必要があります。

私は私が唯一のユーザーと特定の列が0または1を入力することができますことを検証前のスレッドにする前に試してみました....

how to validate particular column cell field when editing それは似たようですか?

私はこれにウェブメソッドが必要ですか?

ps基本的に私が望むのは、ユーザがデータベースに追加するためにユーザ名を入力するウィンドウフォームにテキストボックスフィールドを置くことです。ユーザが追加ボタンをクリックすると、すでに存在する場合は、プロンプトが表示されます。そうでない場合は、insert webメソッドを使用してデータベースに追加します。

データがWebメソッドで取得されています...このチェックを手助けするためにWebメソッドを使用する必要があることを意味します...しかし、どうですか?ウェブメソッドの私のコード

[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 [email protected]"; 
    // 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; 

} 

が、これは私の窓のフォームコードについてASP.NET Web Services読む

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(); 

    } 




} 
+0

あなたが正確に何が必要なのか? –

+0

@Akram ....どのように私は、ウィンドウのフォームにあるテキストボックスを検証するのに役立つWebメソッドを使用する...私はどのようにボタンを呼び出すことができますか...原因...ユーザー入力のユーザー名.. 。ボタンをクリックして追加ボタンをクリックします。ボタンは、類似のデータがあるかどうかをデータベースにチェックするWebメソッドを使用する必要があります – cutexxxbabies

答えて

0

スタート:フォームアプリケーションで

[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

@Akramどのようにして、このWebメソッドをボタンの中で呼び出して、ウィンドウフォームのテキストボックスの入力を検証することができます – cutexxxbabies

+0

@Akram .... int matchesCount = int.Parse(dbCommand .ExecuteScalar());赤い下線です – cutexxxbabies

+0

@cutexxxbabies:int matchesCount = int.Parse(dbCommand.ExecuteScalar()。ToString()); 'は正しいステートメントです –

1

です。

+0

@Akram私はaspを使用しません...私はウィンドウフォームを使用します...まだ別のリンクがありますか? – cutexxxbabies

+0

@cutexxxbabies:あなたはデータベースを操作する方法を知っていますか?あなたはここで何を質問していますか? –

+0

あなたの質問から@cutexxxbabies: '私はWebサービスを行っています...' –

0

データを挿入するためにいくつかのWebメソッドを使用している場合、いくつかの値に基づいてデータを抽出する方法が必要です。次に、このメソッドにUserNameを渡して検索します。見つかった場合は、ユーザーに別のUserNameを入力するように依頼します。

これがあなたが探しているものでない場合は、もう少し質問を説明してください。ここ

+0

私はWebメソッドを作成しなければならないという意味ですか?ウィンドウフォーム... Webメソッドのコードを表示します – cutexxxbabies

関連する問題