.net C# finally操作 for循环 if 语句 程序执行顺序 判断
StreamReadersr1=null;tryfor(inti=0;i<msg.Length-1;i++){inti=1;if(i<1){break;}row[0]="...
StreamReader sr1 = null;
try
for (int i = 0; i < msg.Length - 1; i++)
{
int i = 1;
if(i<1)
{
break;
}
row[0] = ""
//数据库写入语句
}
//数据库执行语句
db.UpdateRecord(db.cnCM, dtbBao, sqlBao,Database.UpdateCommandType.uctInsert);
}
catch (Exception ex)
{
}
finally {
sr1.Close();
}
程序经过for写入数据库,判断,然后执行数据库操作,关闭文件流
在判断时,如果不对就break ,出来for循环还是会执行数据库语句啊..
怎么能break时不执行数据库操作语句呢
如果for循环里的if判断不写break 写return 把finally里的sr1.close
写到for循环里的if判断里就可以 但是for循环里存在多个if判断 很麻烦
我想最后写finally时再把sr1关闭,可是if判断写break就会执行数据库操作
这样的情况怎么办呢 展开
try
for (int i = 0; i < msg.Length - 1; i++)
{
int i = 1;
if(i<1)
{
break;
}
row[0] = ""
//数据库写入语句
}
//数据库执行语句
db.UpdateRecord(db.cnCM, dtbBao, sqlBao,Database.UpdateCommandType.uctInsert);
}
catch (Exception ex)
{
}
finally {
sr1.Close();
}
程序经过for写入数据库,判断,然后执行数据库操作,关闭文件流
在判断时,如果不对就break ,出来for循环还是会执行数据库语句啊..
怎么能break时不执行数据库操作语句呢
如果for循环里的if判断不写break 写return 把finally里的sr1.close
写到for循环里的if判断里就可以 但是for循环里存在多个if判断 很麻烦
我想最后写finally时再把sr1关闭,可是if判断写break就会执行数据库操作
这样的情况怎么办呢 展开
5个回答
展开全部
StreamReader sr1 = null;
try
for (int i = 0; i < msg.Length - 1; i++)
{
int i = 1;
if(i<1)
{
sr1.Close();
return sr1 ;
}
row[0] = ""
//数据库写入语句
}
//数据库执行语句
db.UpdateRecord(db.cnCM, dtbBao, sqlBao,Database.UpdateCommandType.uctInsert);
}
catch (Exception ex)
{
}
finally {
sr1.Close();
}
try
for (int i = 0; i < msg.Length - 1; i++)
{
int i = 1;
if(i<1)
{
sr1.Close();
return sr1 ;
}
row[0] = ""
//数据库写入语句
}
//数据库执行语句
db.UpdateRecord(db.cnCM, dtbBao, sqlBao,Database.UpdateCommandType.uctInsert);
}
catch (Exception ex)
{
}
finally {
sr1.Close();
}
更多追问追答
追问
我知道用retrun可以啊 我的意思是在if里不写sr1.close
全部写在finally里面 if里只是break跳出for循环
追答
好吧教你个简单的方法
StreamReader sr1 = null;
bool result=true;
try
for (int i = 0; i < msg.Length - 1; i++)
{
int i = 1;
if(i<1)
{
result=false;
break;
}
row[0] = ""
//数据库写入语句
}
//数据库执行语句
if(result)
db.UpdateRecord(db.cnCM, dtbBao, sqlBao,Database.UpdateCommandType.uctInsert);
}
catch (Exception ex)
{
}
finally {
sr1.Close();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//数据库写入语句
}
//数据库执行语句
db.UpdateRecord(db.cnCM, dtbBao, sqlBao,Database.UpdateCommandType.uctInsert);//你最终 向数据库写入数据 是这句话吧
这句话是不受if 限制的
}
//数据库执行语句
db.UpdateRecord(db.cnCM, dtbBao, sqlBao,Database.UpdateCommandType.uctInsert);//你最终 向数据库写入数据 是这句话吧
这句话是不受if 限制的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
For 和 if 就依次执行,catch 倒数第二执行,finally 最后执行,不知道可以调试,F10(F11)一步一步的走,自己看就清楚了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个程序是想初始化一个表么?还是更新啊?
更多追问追答
追问
程序就是更新啊 但是我现在是程序块顺序问题吧
追答
我不懂你的这个FOR循环想执行什么操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询