我的程序中有一个数据表,它在8行中单独列出了一些数据。
我的问题是如何检查第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";
}
}
但似乎结果它只能读取&#34;跨站点脚本&#34;
感谢您的回复!
答案 0 :(得分: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...