int countAdd=0;
string[] roleName = txtRoleName.Text.Split(',');
for (int j = 0; j < roleName.Length; j++)
{
for ( int i = 0; i < ListUser.Items.Count; i++)
{
string str_Exist = "select * from t_role_menu where menu_id='" + roleName[j] + "' and user_id=" + Int32.Parse(ListUser.Items[i].Value) + "";
DataSet ds_Exist = DbHelperSQL.Query(str_Exist);
if (ds_Exist.Tables[0].Rows.Count.ToString() =="0")
{
string str_Add = "insert into t_role_menu values ('" + roleName[j] + "'," + Int32.Parse(ListUser.Items[i].Value.ToString()) + ")";
countAdd = DbHelperSQL.ExecuteSql(str_Add);
}
else
{
return;
}
}
}return为什么会一下跳出两个循环呢?不是跳到上一层循环么?
string[] roleName = txtRoleName.Text.Split(',');
for (int j = 0; j < roleName.Length; j++)
{
for ( int i = 0; i < ListUser.Items.Count; i++)
{
string str_Exist = "select * from t_role_menu where menu_id='" + roleName[j] + "' and user_id=" + Int32.Parse(ListUser.Items[i].Value) + "";
DataSet ds_Exist = DbHelperSQL.Query(str_Exist);
if (ds_Exist.Tables[0].Rows.Count.ToString() =="0")
{
string str_Add = "insert into t_role_menu values ('" + roleName[j] + "'," + Int32.Parse(ListUser.Items[i].Value.ToString()) + ")";
countAdd = DbHelperSQL.ExecuteSql(str_Add);
}
else
{
return;
}
}
}return为什么会一下跳出两个循环呢?不是跳到上一层循环么?
解决方案 »
- jude!!!!!!!!
- 如何得到当前对象父类的实例?
- 请问如何得到在AssemblyInfo.cs中指定的版本号啊?
- 如何在c#中检测屏幕保护程序是否运行?
- .net的方法重载
- P2P点到点UDP穿透ADSL猫路由自动拨号的情况下,而且属于NAT之后是如何通信的?有高手进来看看。在这发过一次,没有解答啊。给100分
- 关于mdi窗体子窗体的问题
- 随机数字
- 请问一些关于查询数据库的操作
- 我这样写代码是否违反有关规范
- 请问下NET是否支持分层的功能?
- 从vb.net转换为C#,但到C#中,ado代码枚举常量1还必须用ADODB.SearchDirectionEnum.adSearchForward替换,否则显示语法错误,有没有办法在C#中也保持用1
return; 直接返回方法了
return; 直接跳出方法了
return; 直接返回方法了
return;方法返回
continue;中止此次循环,进行下次循环
return;方法返回
return; 是返回不是跳出
单独的循环体的退出是break!!
break才是退出当前的循环继续下一句代码
要跳出循环的话,必须使用break关键字。
跳出两次循环用两个break才行,一个break只能跳出一个循环的。
用break 是跳出循环
不要混淆了两者的区别!