web-dev-qa-db-ja.com

テキストボックスのテキストを整数に変換する

Xamlコードのテキストボックス内のテキストをC#の整数値に変換する必要があります。 .NET4.0とVisualStudio 2010を使用しています。xamlタグ自体でそれを行う方法はありますか、それともCシャープでコンバーターを作成する必要がありますか。次のことを試しましたが、機能しません。

Convert.ToInt32(this.txtboxname.Text)

どんな助けでも大歓迎です。ありがとう。

5
zack

SQL Serverに送信する前に、コードビハインドでこれを行うことをお勧めします。

 int userVal = int.Parse(txtboxname.Text);

おそらく、解析して、オプションでユーザーに通知してみてください。

int? userVal;
if (int.TryParse(txtboxname.Text, out userVal) 
{
  DoSomething(userVal.Value);
}
else
{ MessageBox.Show("Hey, we need an int over here.");   }

注意する例外は、ストアドプロシージャの呼び出しに値が含まれていないことを意味します。 SQL Serverへの呼び出しをビルドするコードを呼び出すときに、コードにデバッガーブレークポイントを設定してみてください。

パラメータを実際にSqlCommandにアタッチしていることを確認してください。

using (SqlConnection conn = new SqlConnection(connString))
{
    SqlCommand cmd = new SqlCommand(sql, conn);
    cmd.Parameters.Add("@ParamName", SqlDbType.Int);
    cmd.Parameters["@ParamName"].Value = newName;        
    conn.Open();
    string someReturn = (string)cmd.ExecuteScalar();        
}

おそらく、データベースでSQLプロファイラーを起動して、送信/実行されているSQLステートメントを検査します。

15
p.campbell

コンバーターを作成する必要はありません。ハンドラー/コードビハインドでこれを行うだけです。

int i = Convert.ToInt32(txtMyTextBox.Text);

OR

int i = int.Parse(txtMyTextBox.Text);

テキストボックスのTextプロパティはString型であるため、コードで変換を実行する必要があります。

7
Dave Swersky

例:

_int x = Convert.ToInt32(this.txtboxname.Text) + 1 //You dont need the "this"
txtboxname.Text = x.ToString();
_

x.ToString()は整数を文字列に変換して、テキストボックスに表示します。

結果:

  1. テキストボックスに番号を入力します。
  2. ボタンまたは関数を実行しているものをクリックします。
  3. テキストボックスに、自分の番号より1つ大きい番号が表示されます。

:)

2
Tomer Gan

SQLデータベースでそのフィールドにNull値が許可されている場合は、次のようにint? valueを使用してみてください。

if (this.txtboxname.Text == "" || this.txtboxname.text == null)
     value = null;
else
     value = Convert.ToInt32(this.txtboxname.Text);

Null値のConvert.ToInt32が0を返すことに注意してください!

Convert.ToInt32(null) returns 0
0
Arslan
int num = int.Parse(textBox.Text);

これを試して。それは私のために働いた

0
Chameena Hiruni