When Compromise Is Not An Option

导航

<2006年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

统计

公告

这里内容虽然还不精彩,但每篇文章都是原创,望大家和我讨论问题。您的每一个评论,都是我的动力,我一定并虚心接受批评和鼓励。
联系方式:
MAIL:
zaluao#gmail.com

Chrome很强大,很怪异 9-3 10:43

与我联系

搜索

 

常用链接

留言簿(1)

我参加的小组

我参与的团队

我的标签

随笔分类

文章分类

最新随笔

最新评论

  • 1. re: 防SQL注入
  • 用正则表达式匹配处理效率高些, 你这样在请求里查找你自己定义的数组字符, 字符多了会慢。
  • --cothly

阅读排行榜

评论排行榜

DataTable添加列时容易被忽略的问题!

我们经常用到DataTable.Columns.Add("ColumnsName"),久而久之形成了一种思维,当然也知道可以设置数据值类型,但经常可以忽略,因为没有什么影响.今天我就碰到这个问题,因为没有设置数据类型,出现了BUG
BUG出现的情况说明:
刚开始,用DataTable.Columns.Add("ColumnsName"),方式添加了列
我添加的列中有3行数据,分别为 12 ,14 ,7,添加行数据时,我用 Decimal 数据类型添加的.
然后我筛选数据,取出最大最小值,用表的DefaultView.Sort方法(默认排序,从小到大)
1DataView ViewTableName = 表名.DefaultView;
2ViewTableName.Sort = "列名"
3string strMin = ViewTableName[0]..Row["列名"].ToString();  
4string strMan = ViewTableName[表名.Rows.Count-1]..Row["列名"].ToString();  
调试时,发现ViewTableName行变成了7,14,12. 我郁闷:( ,不知道那的问题,刚开始认为是sort的问题,可是我改成了Desc排序,又变成了12,14,7 ,我晕倒.真在纳闷呢,看到flyingchen在线上,请教了一下,他认为是数据类型的问题.我仔细看看,在添加列时,并没有加上类型,因为以前经常用,认为没有什么关系.
所以我重新修改了添加列
1表名.Columns.Add("列名",System.Type.GetType("System.Decimal"));
然后再次排序,终于出现了7,12,14 了. 多谢flyingchen了.

posted on 2006-08-29 15:53 老尧 阅读(1436) 评论(3)  编辑 收藏 所属分类: .NET SKILL

评论

#1楼  2006-08-29 18:54 main      

嘿嘿:)
多交流!   回复  引用  查看    

#2楼  2006-09-22 17:08 刘尧 [未注册用户]

对字符串的排序是这样的,数字型的就对了   回复  引用    

#3楼 [楼主] 2006-09-23 06:54 尧尧      

是的,在MSSQL中的查询也会遇到这样的情况,所以排序时,要注意类型了.
上面的问题估计添加列时默认是字符类型   回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
博客园首页

新闻频道

社区

小组

博问

网摘

闪存

  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
成果网帮您增加网站收入


相关链接: