0

データ行から値を読み取ることはできますか?

私はこのコードを持っています:

bool CatchweightItem;
if (dr_art_line["CatchweightItemt"].ToString() -> READ VALUE)
{
    CatchweightItem = false;
}
else
{
    CatchweightItem = true;
}

そのフィールドの値を読み取ることができるかどうか疑問に思っています。値が の場合、false変数を に設定しfalse、それが true の場合、変数を に設定しますtrue

4

4 に答える 4

1
 if(string.Compare(Convert.ToString(dr_art_line["CatchweightItemt"])+"","false",true)==0)
         { 
CatchweightItem = false; }
 else {  
CatchweightItem = true; } 

これにより、データベースからのnull値や、大文字と小文字を区別しないチェックが回避されます。

于 2012-05-03T12:35:02.373 に答える
1

次のように == 演算子を使用して値を確認する必要があります。

bool CatchweightItem;
if (dr_art_line["CatchweightItemt"].ToString() == "FALSE")
{
    CatchweightItem = false;
}
else
{
    CatchweightItem = true;
}

実際には、そのすべてのコードは必要ありません。これをはるかに短く、よりクリーンにすることもできます。

bool CatchweightItem = (dr_art_line["CatchweightItemt"].ToString() == "TRUE")
于 2012-05-03T12:04:09.320 に答える
1
bool CatchweightItem = Convert.ToBoolean(dr_art_line["CatchweightItemt"].ToString());

これを読む

于 2012-05-03T12:01:39.960 に答える
1

いずれにしても DataColumn の場合はDataType、次のbool強力な型のメソッドを使用する必要があります。

bool isCatchweightItem = dr_art_line.Field<bool>("CatchweightItemt");

DataRowExtensions.Field<T>メソッド (DataRow、文字列)

また、null 許容型もサポートしています。

于 2012-05-03T12:13:34.377 に答える