mssql2000中char类型和varchar类型的区别

   今天,在设计用户登录模块时,遇到一个问题,从数据库中提取出用户级别的数据,赋值给Session["type"]后,在写代码判断用户级别时,无论怎么判断,用任何级别的用户登录,都判断不出来。郁闷了一天,自以为是Session会话可能有问题,查阅了若干资料,无解。

    晚上上QQ群,求助群里的朋友,在朋友们的帮助下,终于找到了问题所在,原来是MSSQL2000中char类型惹的祸,在设置了CHAR类型的长度后,在数据不满长度时,数据库会自动补足长度,这样直接导致我从数据库中提取出的用户级别字段值(如:管理员)后都会带一个空格,就这个地球人都知道的常识,恶搞我了一天。汗,还是要感谢群里热心的朋友,他们在这方面经验非常丰富。

    使用CHAR类型,查询效率高,速度快,一般在能够预测字段长度的情况下推荐使用CHAR类型,在从数据库中提取出数据后,转换为字符串类型后,可以通过Trim()方法截去字符串首尾的空格来处理数据的精确度。

    如果在不能预测字段的长度时,建议使用VARCHAR类型,只是查询速度比CHAR类型要差。

    Trim()方法的使用:

    Session["type"].ToString().Trim();


上一篇: 用程序来自动建立FTP帐号(serv-u的odbc设置)
下一篇: 关于学校信息化系统的构思
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 3380
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 300 字 | UBB代码 开启 | [img]标签 关闭