首页 新闻 搜索 专区 学院

C#一闪而过的问题

0
悬赏园豆:5 [待解决问题]
using (SqlDataReader sdr = cmd.ExecuteReader()) 
{
try
{
while(sdr.Read()) //进入while循环之后,窗体一闪而过
{
provin P1 = new provin();
P1.pro = sdr.GetString(sdr.GetOrdinal("proName"));
P1.city = sdr.GetString(sdr.GetOrdinal("cityName"));
cbPro.Items.Add(P1.pro);
}
sdr.Close();
}
catch
{
MessageBox.Show("报错");
}
}
如上所述当进入while循环后,窗体一闪而过,究竟是什么原因,求指导?
其中个provin是一个自定义类:
public class provin
{
   public string pro { get; set; }
   public string city { get; set; }
}
c#
ljzh的主页 ljzh | 初学一级 | 园豆:199
提问于:2013-06-12 16:05
< >
分享
所有回答(4)
0

你是用的控制台吗?如果没有Console.ReadKey();中断的话,是会一闪而过的哦~

幻天芒 | 园豆:36662 (高人七级) | 2013-06-12 22:50

不是,是winform把数据库的数据加载到combox控件列表

支持(0) 反对(0) ljzh | 园豆:199 (初学一级) | 2013-06-12 23:10

不是,是winform把数据库的数据加载到combox控件列表

支持(0) 反对(0) ljzh | 园豆:199 (初学一级) | 2013-06-12 23:10

@ljzh: 具体不了解。你可以试试将sdr.GetString(sdr.GetOrdinal("proName")); 改为sdr["proName"].ToString();

支持(0) 反对(0) 幻天芒 | 园豆:36662 (高人七级) | 2013-06-12 23:12

刚才那个连接字符错了,也是这样,但是改过来,运行这代码也是这样。

支持(0) 反对(0) ljzh | 园豆:199 (初学一级) | 2013-06-12 23:12

@ljzh: 你用try catch把整个方法全部包裹,看报什么错误,现在的错误太不明显了....

支持(0) 反对(0) 幻天芒 | 园豆:36662 (高人七级) | 2013-06-12 23:20
0

  先把断点下到cbPro.Items.Add(P1.pro);  后面的大括号,还有catch中放个断点,看看items有值没,我怀疑你都没查询出来东西

diorlv2010 | 园豆:188 (初学一级) | 2013-06-14 09:59
0

如果到数据库的连接正常,单从你这块代码看暂时没发现什么问题,需要整体逻辑

goooogs | 园豆:64 (初学一级) | 2013-06-14 11:27
0

我经常遇到LZ说的问题.我觉得是正常情况.以下是自己的分析,有达人看到的话希望指点一二,不要误人子弟。

在页面/界面绑定数据库的东西时,比如下拉框、list等等,在执行到读数据时,界面总会一闪而过,个人感觉,应该是多线程引起。读库是一个后台线程,而界面是一个前台线程,界面的绑定数据操作 调用了后台的读库,异步回调实现把拿到的数据和控件绑定,拿数据时激活了前台线程,但前台暂时无任务,自动放弃CPU时间片,而后台程序有任务,再次激活,造成一闪而过。

北落师门α | 园豆:17 (初学一级) | 2013-06-15 13:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册