好记性不如烂笔头。

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

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 中没有此列,也不会报错.

在此判断一下就OK了,上面是对于datareader来应用的

操作datatable时可用, if (dt.Columns.Contains("tab_name")) 来实现判断是否包含此列!

以前操作对于用户传入的不同的SQL结构来判断个别的功能可实现判断!!!