SqlDataReader 判断是否存在某列的方法

SqlDataReader dr=Get_dr(xxxx);

string ID=dr["ID"];//如果在sql 中没有此列,则会报错.

个人认为,在读取时,最好做一个判断.

 

static bool readerExists(SqlDataReader dr, string columnName)
        {

            dr.GetSchemaTable().DefaultView.RowFilter = "ColumnName= '" +

            columnName + "'";

            return (dr.GetSchemaTable().DefaultView.Count > 0);

        }

 

if(readerExists(dr,"ID"))

string ID=dr["ID"];//如果在sql 中没有此列,也不会报错.

 

你可能感兴趣的:(.Net)