2017-05-02 52 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 –

相关问题