0

LinqToSqlVisual Studio 2010(Asp.net、C#)で使用しようとしています。intレコードの挿入/削除/更新は正常に機能しますが、フィールドに文字を書き込むと、プログラムがうまく機能しなくなります。

DataClasses.Designerは持っています:

partial void Insertproduct(product instance);

そして、他のクラスを追加します:

public partial class product
{

    partial void OnPriceChanging(string value)
    {
        Regex Price = new Regex("^[A-Z0-9 a-z]*$");
        if (Precio.IsMatch(value) == false)
        {
            throw new Exception("Just numbers");
        }
    }

}

何が欠けているのかわからない。

4

2 に答える 2

1

使用した正規表現は、「数値のみ」を検証するには正しくありません。これを使って:

public partial class Product
{

    partial void OnPriceChanging(string value)
    {
        Regex price = new Regex("^[0-9]*$");
        if (!price.IsMatch(value))
        {
            throw new Exception("Just numbers");
        }
    }

}
于 2012-12-05T13:55:45.643 に答える
1

文字列を int に変換できない場合は、int.TryParse を使用して 0 を返します。

int number;
bool IsNumber = int.TryParse("someString", out number); 
于 2012-12-05T13:48:36.357 に答える