2017-05-02 58 views
0

我有一個數據表在我的程序裏,它列出了一些數據分開在8行。數據錶行檢查字符串包含另一個字符串在C#

我的問題是我怎麼能檢查是否有串字符串在第5行

在這裏,在內部存在數據就是我的編碼迄今:

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"; 
    }  
} 

但似乎結果它只能讀取「跨站點腳本」

感謝您的回覆!

+0

你可以發佈的'my_datatable.Rows值[0] [5] .ToString()'? –

+0

你總是使用第一行和第六列作爲'data_source'。你的第一個比較是,'data_source'是否包含文本' Nino

+0

https://ibb.co/c2jubQ確實你是這個意思?對不起,我真的是新來的C#@AmitKumar –

回答

0

因爲你總是使用第一排,我猜你建議立即進行刪除移動可變data_source你的循環裏面,像這樣:

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

DAMNNNN IT REYY WORK !!!謝謝YOUUUU :))) –

+0

@AliffM。標記答案作爲解決方案是一種方式來說謝謝:) – Nino

+0

哇呀對不起,真的從來沒有問過這裏其實,再次感謝! :) @nino –

相關問題