当前位置:  开发笔记 > 编程语言 > 正文

有没有正确的方法来检索SQL中的字符串字段

如何解决《有没有正确的方法来检索SQL中的字符串字段》经验,为你挑选了1个好方法。

我已经看到了从SQL中检索字符串字段的不同方法.有没有"正确"的方式,有什么区别

  SqlDataReader rdr;
  1.  String field = (String) rdr["field"];
  2.  String field = rdr["field"].ToString();
  3.  String field = rdr["field"] As String;

谢谢!



1> JoshBerke..:

你也可以使用:

int ordinal=rdr.GetOrdinal("stringField");
if (rdr.IsDBNull(ordinal))
{
    return string.Empty; //Or null or however you want to handle it 
}
else
{   
   rdr.GetString(ordinal);
}

如果你看一下SQlDataReader ["field"]的定义,看起来像:

public override object this[string name]
{
    get
    {
        return this.GetValue(this.GetOrdinal(name));
    }
}

基本上这是做同样的事情,只是它的类型安全.我喜欢做的是创建我自己的包装SqlDataReader的IDataReader.CSLA使用一种称为SafeDataReader的simillar机制,因为它为实现此模式的所有各种数据类型提供了重载.

如果您知道该字段不为null,则可以省略isDbNull检查.由于冗长,我建议将它放在某种类型的包装器或辅助类中,并从中创建函数.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有