在我的win窗体应用程序中,我有两个listViews:listView1和listView2。
listView1具有用户选择的数据库表(一个或多个)
当按下按钮时,listView2显示与所选表格有关的所有列。
当我从listView1中选择2个表时,即使它显示1个表的所有列,但是由于它运行超出界限,它没有获得所选第二个表的列,所以嵌套循环运行超出界限。你能告诉我我哪里错了吗? 这里是我的代码:循环索引溢出
conn.Open();
SqlCommand sc2 = new SqlCommand("select C_Name, T from (select CONCAT(Table_Schema,'.',Table_Name) T, Concat(Table_Name,'.',Column_Name) C_Name from Information_Schema.columns) as Teo ;", conn);
SqlDataAdapter sda2 = new SqlDataAdapter(sc2);
sda2.Fill(dt);
conn.Close();
DataRow[] foundrows;
string express;
for (int i = 0; i < listView1.CheckedItems.Count; i++)
{
MessageBox.Show(listView1.CheckedItems.Count.ToString());
express="T ='" + listView1.CheckedItems[i].Text+"'";
foundrows = dt.Select(express);
MessageBox.Show(foundrows.Length.ToString());
for (int p = 0; p < foundrows.Length; i++)
{
listView2.Items.Add(foundrows[i][1].ToString());
}
}
什么是实际的错误代码和行把它扔? – Abion47
你的意思是在第二个循环中增加i索引吗? for(int p = 0; p
Ehz
@Ehz明白了。当它应该使用'p'时,你的第二个循环使用'i'。 – Abion47