• 是不是.net compact framework的Bug呢?


      这些天.net compact framework把我惹火了,一些莫名其妙的错误,真是又好笑又气.举几个例吧.
    我用的是.net compact framework 1.1.
     1) ComboBox控件
        总觉得ComboBox不是很合理,用起来不爽.
         如果代码如下  
    1combox.DataSource=arr;
    2combox.DisplayMember="name"
       绑定数据之后,假设arr有数据的话,居然combox.Items.Count为0.
      另外当你使用如下代码  
    1combox.Text="China"
     没有任何数据显示在ComboBox上.郁闷.
    2) ADO.NET
      如果说以上的代码不是什么bug的话,那么下面肯定是了
      说说SqlCeParameter
      先看看数据类型
      
    1        SqlCeParameter[] paras=new SqlCeParameter[2];
    2
    3            paras[0]=new SqlCeParameter();
    4            paras[0].DbType=DbType.String;
    5            paras[0].ParameterName="Subject_f";
    6            paras[0].Value=task.Subject;
    这个代码是可以的,
    如果换为一下代码就不行了
    1            SqlCeParameter[] paras=new SqlCeParameter[2];
    2
    3            paras[0]=new SqlCeParameter();
    4            paras[0].SqlDbType=SqlDbType.VarChar;
    5            paras[0].ParameterName="Subject_f";
    6            paras[0].Value=task.Subject;
    7            
    你说以上代码没有什么区别,怎么就不行呢?
     然后在看看SqlCeParameter的顺序.
     
     1        SqlCeParameter[] paras=new SqlCeParameter[2];
     2
     3            paras[0]=new SqlCeParameter();
     4            paras[0].DbType=DbType.String;
     5            paras[0].ParameterName="Subject_f";
     6            paras[0].Value=task.Subject;
     7            
     8            paras[1]=new SqlCeParameter();
     9            paras[1].DbType=DbType.String;
    10            paras[1].ParameterName="Notes_f";
    11            paras[1].Value=task.Notes;
    12

    上面有两个SqlCeParameter,并且sql语句为
    update test set notes_f=?,subject_f=?
    居然不可以执行,如果把上面Paras的顺序修改一下
     1        SqlCeParameter[] paras=new SqlCeParameter[2];
     2            
     3            paras[0]=new SqlCeParameter();
     4            paras[0].DbType=DbType.String;
     5            paras[0].ParameterName="Notes_f";
     6            paras[0].Value=task.Notes;
     7
     8            paras[1]=new SqlCeParameter();
     9            paras[1].DbType=DbType.String;
    10            paras[1].ParameterName="Subject_f";
    11            paras[1].Value=task.Subject;

    真的很奇怪.

    难道这不是微软的bug.如果有人说这不是bug,那么我就认为微软应该考虑到易用性,灵活性了.不然用起来真的难受呀.

    真的是领教了.net compact framework了.据的它还是有点不成熟.

    我遇见了很多bug,就不一一说了.以后遇见了再说吧.
  • 相关阅读:
    四种常见系统架构介绍
    NC-UAP客户化开发-数据建模
    NC-UAP客户化开发-4.NC数据库持久化技术
    NC-UAP客户化开发-NC基础技术
    NC-UAP客户化开发-开发环境搭建
    Docker: 使用socket 代理
    Disk:磁盘管理之LVM和系统磁盘扩容
    Grafana & Graphite & Collectd:监控系统
    ELK:收集k8s容器日志最佳实践
    Virus:病毒查杀
  • 原文地址:https://www.cnblogs.com/confach/p/346253.html
Copyright © 2020-2023  润新知