2017-05-02 3 views
0

データテーブルがプログラム内にあり、データテーブルが8行に分けてリストされています。データテーブルの行チェック文字列にCの別の文字列が含まれています

String data_source = null; 

data_source = my_datatable.Rows[0][5].ToString(); 

for (int i = 0; i < my_datatable.Rows.Count; i++) 
{ 
    if (data_source.Contains("<script") == true) 
    { 
     my_datatable.Rows[i][5] = "Cross Site Scripting"; 
    } 
    else if (data_source.Contains("()") == true) 
    { 
     my_datatable.Rows[i][5] = "SQL Injection"; 
    } 
    else if (data_source.Contains("\\..\\") == true) 
    { 
     my_datatable.Rows[i][5] = "Unicode Attack"; 
    } 
    else if (data_source.Contains("http/www") == true) 
    { 
     my_datatable.Rows[i][5] = "Proxy Attack"; 
    } 
    else if (data_source.Contains("cgi-bin") == true) 
    { 
     my_datatable.Rows[i][5] = "Cgi-Bin"; 
    } 
    else 
    { 
     my_datatable.Rows[i][5] = "Normal"; 
    }  
} 

しかし、それを:

私の質問は、私は文字列が行ここ5

にデータ内の文字列に存在しているかどうかを確認することができますどのように私は、これまでにコード化されたものですです結果として見えるのは「クロスサイトスクリプティング」のみです。

お返事ありがとうございます!

+0

あなたは 'my_datatable.Rowsの値を投稿することができます[0] [5] .ToString() '? –

+0

あなたは常に第1列と第6列を 'data_source'として使用しています。あなたの最初の比較は、 'data_source'にテキスト' Nino

+0

https://ibb.co/c2jubQ didあなたはこれを意味しますか?申し訳ありません、私は本当にC#@AmitKumar –

答えて

0

あなたは常に最初の行を使用しているので、私はあなたがこのように、あなたのループ内の変数data_sourceを移動shoul推測している:

String data_source = null; 

for (int i = 0; i < my_datatable.Rows.Count; i++) 
{ 
    //put data_source here 
    data_source = my_datatable.Rows[i][5].ToString(); 

    //... rest of your code... 
    if (data_source.Contains("<script") == true) 
    { 
     my_datatable.Rows[i][5] = "Cross Site Scripting"; 
    } 
    // etc... 
+0

ダンナインは本当にうまくいきます!ありがとう:))) –

+0

@ AliffM。解決策として回答をマークすると感謝の言葉を言うことができます:) – Nino

+0

aw yea申し訳ありません、 :) @nino –

関連する問題