请教while遍历的问题

zky0901 2017-09-18 03:56:44
string sql = "select * from sword where ctype="+1+" order by cdate desc";
MySqlConnection conn = new MySqlConnection(connStr);
MySqlCommand cmd = new MySqlCommand(sql, conn);
conn.Open();
MySqlDataReader rd = cmd.ExecuteReader();
while(rd.Read())
{
zcname = rd["cname"].ToString();
t1.Interval = 1000;
t1.Tick += new EventHandler(tt_Tick);
t1.Start();
}
我的意图是读出所有记录,每读出一条记录就执行一下大括号里的程序,可是我用while好像总是不正常,每次只能读出zcname,下面的不执行,请问为什么啊??
...全文
555 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
SpringHgui 2017-09-21
  • 打赏
  • 举报
回复
最好的办法就是单步执行 F11
wang_peng_yl 2017-09-19
  • 打赏
  • 举报
回复
为什么不用MySqlAdapter 呢?
  • 打赏
  • 举报
回复
引用 楼主 zky0901 的回复:
可是我用while好像总是不正常,每次只能读出zcname,下面的不执行,请问为什么啊??
你的 zcname 总是被丢弃,这样做毫无意义。如果你仅仅只需要最后一条记录的 cname 值,那么直接查询最后一条记录就好了。如果你需要先把所有的 cname 值查询出来,也要把有关定时器的内容放到 while 循环后边,而循环中只应该是把 cname 值保存在一个集合里边。 你的代码,基本上,在保存数据(zcname)方面的流程就没有做到,更别说是异步的定时器访问数据了。你应该自己调试一下,甚至是先把精力放到想想该测试和调试什么内容上。
  • 打赏
  • 举报
回复
引用 6 楼 zky0901 的回复:
如果我用if语句读出的一条记录,则 t1.Interval = 1000; t1.Tick += new EventHandler(tt_Tick); t1.Start(); 运行正常,如果用while语句,则这个定时器就不起作用了,为什么啊???
因为你不断地执行 t1.Start 重新开始定时。
  • 打赏
  • 举报
回复
引用 4 楼 zky0901 的回复:
是没有执行t1.Tick += new EventHandler(tt_Tick);
+= 是什么意思啊?
西漠以西 2017-09-19
  • 打赏
  • 举报
回复
你得先告诉我们你写的这些代码是为了干什么?
ilikeff8 2017-09-19
  • 打赏
  • 举报
回复
t1.Tick -= new EventHandler(tt_Tick); t1.Tick += new EventHandler(tt_Tick); 可以保证只挂了一个事件,如果之前没有设置过,-=也不会出错
zky0901 2017-09-18
  • 打赏
  • 举报
回复
如果我用if语句读出的一条记录,则 t1.Interval = 1000; t1.Tick += new EventHandler(tt_Tick); t1.Start(); 运行正常,如果用while语句,则这个定时器就不起作用了,为什么啊???
江南小鱼 2017-09-18
  • 打赏
  • 举报
回复
1、同一个timer,你多次绑定Tick事件,估计会有问题 2、你可以把timer的Tick事件作为方法,每次调用 3、你认为代码木有执行,可以打个断点,单步调试下
zky0901 2017-09-18
  • 打赏
  • 举报
回复
是没有执行t1.Tick += new EventHandler(tt_Tick);
exception92 2017-09-18
  • 打赏
  • 举报
回复
每次只能读出zcname -》因为你只rd["cname"]了,没有rd其它的列名称。
zky0901 2017-09-18
  • 打赏
  • 举报
回复
是不执行tt_Tick
正怒月神 2017-09-18
  • 打赏
  • 举报
回复
既然是只要执行方法,那为何使用timer? 而且每条数据都绑定t1.Tick += new EventHandler(tt_Tick); 那每次事件累加,不会出问题吗?

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧